如何将Knockout绑定应用于元素?

时间:2016-09-02 15:08:27

标签: knockout.js knockout-binding-handlers

我想使用自定义Knockout绑定处理程序在根元素上动态设置font-size,该处理程序根据浏览器窗口的宽度进行计算。

当我尝试应用绑定时,似乎没有任何事情发生,所以我尝试应用一个简单的CSS绑定:

<html data-bind="css: { bindinghandlertest: true }">

但是绑定处理程序似乎没有添加该类。

问题: KO绑定只能应用于<body>及其子级吗?

注意:我正在初始化整个页面上的所有绑定,只需在DOM就绪时调用ko.applyBindings();一次,完全没有参数。

1 个答案:

答案 0 :(得分:1)

您可以按照here

的说明将绑定应用于特定的html元素

具体来说:

  

或者,您可以传递第二个参数来定义哪个部分   要搜索数据绑定属性的文档。例如,   ko.applyBindings(myViewModel, document.getElementById('someElementId'))

在你的情况下,你可以打电话给

ko.applyBindings(myVM, document.documentElement);

默认情况下,DOM节点是正文,您可以从source

中看到
  

rootNode = rootNode || window.document.body; //制作&#34; rootNode&#34;   参数可选