上綁定我現在用的是淘汰賽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