我能否动态生成knockoutJS绑定
使用例如
$("el").html("<span data-bind=\"value:name\"></span>
答案 0 :(得分:3)
template binding可能是更好的解决方案。这允许您动态添加元素,而无需每次都调用ko.applyBinding()
。
<el data-bind="template: { name: 'name-template', foreach: names }"></el>
<script id="name-template" type="text/template">
<span data-bind="value: name"></span>
</script>
答案 1 :(得分:1)
您可以,但除非使用ko.applyBinding()将模型重新绑定到DOM,否则您添加的每个绑定都无效。只有这样,Knockout才能识别出绑定并将其应用于给定的模型。
然而,也许您实际上是在寻找一种动态添加嵌套内容的方法?也就是说,KnockoutJs也允许您绑定数组,以便在管理数组时自动添加/删除html:
<el data-bind="foreach:names">
<span data-bind="value:name"></span>
</el>