我读过优秀的文档“使用Knockout API”。这说明了上下文是如何设置一个具有敲除绑定的特定小部件的。
现在,我希望能够从Firebug命令行访问ViewModel模型,就像我在浏览器中使用KnockoutJS访问Javascript中的KnockoutJS时通常所做的那样。Firebug不知道"$root",基本上我不知道如何访问Java并调用@Function方法,也不知道是否可能。这将是一个很酷的REPL。
发布于 2015-06-08 00:00:26
有ko.dataFor和ko.contextFor,只使用Model = ko.dataFor(document.body);可能更容易
发布于 2015-06-04 01:07:31
成功!
诀窍是,我创建了一个自定义绑定。在定制绑定init()方法中,传递viewModel。然后,我将模型保存到一个JavaScript变量中。
步骤1:自定义绑定定义
@net.java.html.js.JavaScriptBody(
args = {}, body =
"ko.bindingHandlers.Model = {" +
"init: function( element, valueAccessor, allBindingsAccessor, viewModel ){" +
"Model = viewModel;" +
"}" +
"};"
)
public static native void registerModel();步骤2:使用此数据绑定在页面中声明div:
<div data-bind="Model"></div>步骤3:在main中注册自定义绑定,onPageLoad():
MyResource.registerModel();
MyResource.loadFirebug();
d.applyBindings();步骤4:从Firebug控制台( model .)访问您的模型可观察性和方法
也许有一种更优雅的数据绑定方式--直接绑定Firebug div,但我没有进行管理,可能是因为在调用applyBindings()之后异步加载了Firebug。

https://stackoverflow.com/questions/30632856
复制相似问题