生成动态敲除绑定

时间:2013-11-28 08:54:19

标签: jquery knockout.js

我能否动态生成knockoutJS绑定

使用例如

$("el").html("<span data-bind=\"value:name\"></span>

2 个答案:

答案 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>