如何将 Knockout 绑定应用于 <html> 元素?
How can a Knockout binding be applied to the <html> element?
我想使用自定义 Knockout 绑定处理程序在根元素上动态设置字体大小,该处理程序根据浏览器的宽度进行计算 window。
当我尝试应用绑定时,似乎没有任何反应,所以我尝试应用一个简单的 css 绑定:
<html data-bind="css: { bindinghandlertest: true }">
但是绑定处理程序似乎没有添加 class。
问题:KO 绑定只能应用于 <body>
及其子项吗?
注意:我正在初始化整个页面上的所有绑定,只需在 DOM 就绪时调用 ko.applyBindings();
一次,完全没有任何参数。
您可以将绑定应用于特定的 html 元素,如 here
所述
具体来说:
Optionally, you can pass a second parameter to define which part of
the document you want to search for data-bind attributes. For example,
ko.applyBindings(myViewModel, document.getElementById('someElementId'))
在你的情况下,他们可以打电话给
ko.applyBindings(myVM, document.documentElement);
默认情况下,DOM节点是正文,从source:
可以看出
rootNode = rootNode || window.document.body; // Make "rootNode"
parameter optional
我想使用自定义 Knockout 绑定处理程序在根元素上动态设置字体大小,该处理程序根据浏览器的宽度进行计算 window。
当我尝试应用绑定时,似乎没有任何反应,所以我尝试应用一个简单的 css 绑定:
<html data-bind="css: { bindinghandlertest: true }">
但是绑定处理程序似乎没有添加 class。
问题:KO 绑定只能应用于 <body>
及其子项吗?
注意:我正在初始化整个页面上的所有绑定,只需在 DOM 就绪时调用 ko.applyBindings();
一次,完全没有任何参数。
您可以将绑定应用于特定的 html 元素,如 here
所述具体来说:
Optionally, you can pass a second parameter to define which part of the document you want to search for data-bind attributes. For example,
ko.applyBindings(myViewModel, document.getElementById('someElementId'))
在你的情况下,他们可以打电话给
ko.applyBindings(myVM, document.documentElement);
默认情况下,DOM节点是正文,从source:
可以看出rootNode = rootNode || window.document.body; // Make "rootNode" parameter optional