上绑定我现在用的是淘汰赛JS模板绑定功能,以使项目集合到一个元素:删除淘汰赛JS克隆元素
<script type="text/javascript">
ko.applyBindings(new function() {
this.childItems = [{ Text: "Test", ImageUrl: "Images/Image.png" }];
});
</script>
<script type="text/html" id="template">
<div class="childItem" data-bind="attr: { title: Text }">
<img data-bind="attr: { src: ImageUrl }" />
</div>
</script>
<div class="childSelector" data-bind="template: { name: 'template', foreach: childItems }">
</div>
点击时,孩子的物品被克隆并放置到另一个元素:
$(".childSelector").on("click", ".childItem", function() {
var clone = $(this).clone()[0];
ko.cleanNode(clone);
$(".targetNode").append(clone);
});
的问题是,当源数据变化和模板重新绑定到新的数据,下面的错误被抛出:
Uncaught Error: Unable to parse bindings. Message: ReferenceError: Text is not defined; Bindings value: attr: { title: Text }
我发现了另一篇文章,建议使用ko.cleanNode(element)
删除淘汰赛的绑定,但是这并没有解决我的问题。
有没有办法删除克隆元素上的敲除绑定,以防止重新绑定时出现此错误?如果没有,我只需通过从单击元素中提取所需数据来“手动”克隆元素。
Here是我在做
感谢你们,我接受了建议,并没有按照我原来的路线走,但是这为未来的访问者回答了问题! – Oliver 2013-02-27 17:11:40