我想使用自定义Knockout绑定处理程序在根元素上动态设置font-size,该处理程序根据浏览器窗口的宽度进行计算。
当我尝试应用绑定时,似乎没有任何事情发生,所以我尝试应用一个简单的CSS绑定:
<html data-bind="css: { bindinghandlertest: true }">
但是绑定处理程序似乎没有添加该类。
问题: KO绑定只能应用于<body>
及其子级吗?
注意:我正在初始化整个页面上的所有绑定,只需在DOM就绪时调用ko.applyBindings();
一次,完全没有参数。
答案 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; 参数可选