Byr*_*ahl 11 html javascript knockout.js
我有这样的结构:
<div id='col1'> ... some ko elements ... </div>
<div id='col2'></div>
<div id='col3'> ... some more ko elements ... </div>
Run Code Online (Sandbox Code Playgroud)
......我需要能够ko.applyBindings以col1和col3.现在,我正在做这样的事情来绑定到col1:
ko.applyBindings(myViewModel, document.getElementById("col1"));
Run Code Online (Sandbox Code Playgroud)
这适用于填充第一列.但我仍缺乏第三栏.我很想能够做到这一点:
<div id='col1' class='bindable'> ... some ko elements ... </div>
<div id='col2'></div>
<div id='col3' class='bindable'> ... some more ko elements ... </div>
Run Code Online (Sandbox Code Playgroud)
然后...
ko.applyBindings(myViewModel, $(".bindable"));
Run Code Online (Sandbox Code Playgroud)
...所以它试图绑定到所有的实例.bindable.在淘汰赛中有这样的东西,或者你有什么建议吗?
Byr*_*ahl 18
这是我发现的最佳解决方案:
<div id='col1' class='bindable'> ... some ko elements ... </div>
<div id='col2'></div>
<div id='col3' class='bindable'> ... some more ko elements ... </div>
Run Code Online (Sandbox Code Playgroud)
然后绑定的脚本......
$(".bindable").each(function(){
ko.applyBindings(myViewModel, this[0]);
}
Run Code Online (Sandbox Code Playgroud)
这适合我,它很好,干净.