我有下面的代碼片斷 JQuery的 HTML文件內:映射:的foreach結合工作僅在第一次
$.getJSON("/events/", function (data) {
viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
});
時,例如,在用戶按下一個按鈕,返回JSON等的代碼被執行:
<ul data-bind="foreach: Events">
<li><span data-bind="text: Name"></span></li>
</ul>
:
{"Events":[{"Name":"Event1"},{"Name":"Event2"},{"Name":"Event3"}]}
該結果(使用 KnockoutJS)到鏈接
一切工作正常第一次調用到$.GetJSON
。我得到了我想要的東西,這是(瀏覽器輸出):
- 事件1
- 事件2
- EVENT3
但在後續調用 「$的getJSON」我收到以下錯誤螢火蟲:
NotFoundError: Node was not found.
containerNode.insertBefore(nodeToInsert, insertAfterNode.nextSibling);
而且我沒有得到任何列表項。
什麼我可以做錯了什麼?
非常感謝您提前。
您的解決方案可以工作(使用命名模板),但真正的問題是你在同一個視圖上多次調用'ko.applyBindings'。這不被Knockout支持,並且不可避免地會導致問題。 –
謝謝Michael!你認爲在這種情況下實施會更好嗎? –
看到我的答案.. –