data-bind="visible: $root.isAdministrator"
有人可以解释上述行在knockout.js
中的含义吗?
答案 0 :(得分:1)
$root
是保存根ViewModel的变量。在这个页面中,有任何地方定义了一个像这样的ViewModel:
var vm = {
isAdministrator:ko.observable(true);
aRootObserable:ko.observable("ROOT");
childVm: {
childObservable:ko.observable("CHILD");
}
}
ko.applyBindings(vm);
当范围位于基础ViewModel上但您想要访问根ViewModel时,它在knockout.js中使用。例如:
<div data-bind="with: childVm">
<div data-bind="text: childObservable"><!-- result is CHILD --></div>
<div data-bind="text: $root.aRootObserable"><! -- result is ROOT --></div>
</div>
如果您正在重新设计淘汰网页,则可以在所有JS文件中搜索applyBindings
。传递给此函数的参数是根ViewModel。