什么是knockout.js中的root admin以及它指向的内容?

时间:2015-03-31 10:10:55

标签: javascript jquery knockout.js

data-bind="visible: $root.isAdministrator"

有人可以解释上述行在knockout.js中的含义吗?

1 个答案:

答案 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。