我可以使用Knockout将绑定应用到多个DOM元素吗?
Can I applyBindings to more than one DOM element using Knockout?
我有一个这样的结构:
<div id='col1'> ... some ko elements ... </div>
<div id='col2'></div>
<div id='col3'> ... some more ko elements ... </div>
…我需要能够从ko.applyBindings
到col1
和col3
。现在,我正在做这样的事情来绑定到col1
:
ko.applyBindings(myViewModel, document.getElementById("col1"));
可以很好地填充第一列。但是我仍然缺少第三栏。我希望能够做到这一点:
<div id='col1' class='bindable'> ... some ko elements ... </div>
<div id='col2'></div>
<div id='col3' class='bindable'> ... some more ko elements ... </div>
,然后……
ko.applyBindings(myViewModel, $(".bindable"));
…以便它尝试绑定到.bindable
的所有实例。在淘汰赛中有类似的东西吗,或者你有什么建议吗?
这是我找到的最佳解决方案:
<div id='col1' class='bindable'> ... some ko elements ... </div>
<div id='col2'></div>
<div id='col3' class='bindable'> ... some more ko elements ... </div>
然后脚本绑定…
$(".bindable").each(function(){
ko.applyBindings(myViewModel, this[0]);
}
这对我有用,它很好,很干净。
从另一个角度来看,你只有一个视图模型。那么,为什么不把整个div的集合(col1, col2等)与一个div和绑定你的视图模型到它?
<div id='myWrapper'>
<div id='col1'> ... some ko elements ... </div>
<div id='col2'></div>
<div id='col3'> ... some more ko elements ... </div>
</div>
相关文章:
- 如何在DOM元素上按类型构建此函数
- DOM元素和angular元素之间的主要区别是什么
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- 如何在使用Ractive.extend()时引用DOM元素
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 如何'剪切'DOM元素并将其显示在其他位置
- 转换<a>使用jQuery将文本字符串转换为dom元素
- d3在数据更新时错误地附加了dom元素
- 访问VueJS中的DOM元素
- 在Meteor中如何查找DOM元素(渲染后)
- IE9-添加和删除DOM元素会破坏父keydown事件
- 未捕获错误:元素缓存中id为x的DOM元素与DOM中的元素不同
- 在 ng-if 编译后访问指令中的 DOM 元素
- spin.js/angular spinner:如何将spin定位到DOM元素中(包括plunker演示)
- 如何在dom元素中插入输入标记数据插件
- Mobile Safari、jQuery以及绑定到未来的DOM元素
- 从字符串创建dom元素时添加多个类
- 如何根据客户端的屏幕大小使用javascript更改DOM元素
- 为onClick-hander插入临时DOM元素