我试图理解我在使用 KnockoutJS 制作的页面中看到的一些稍微奇怪的行为。每次我清除并重新应用绑定时,一个可观察的数组似乎都会得到重复的项目。了解问题的最快方法是查看这个JSFiddle 演示。只需多次单击任何编辑按钮,即可观看此列表的增长!
此演示的代码的核心是以下方法:
var _bindItemDetail = function (jsonData) {
//clear existing bindings
ko.cleanNode($("#itemdetails").get(0));
// observables in selected item.
_viewModel.SelectedItem(ko.mapping.fromJS(jsonData));
// Apply Bindings
ko.applyBindings(_viewModel.SelectedItem, $("#itemdetails").get(0));
};
我想要实现的本质是创建一个列表和详细信息页面。列表 JSON 在初始页面加载时获取,并且在单击编辑链接时获取详细 JSON 并将其绑定到“详细”html。
除了解决问题之外,我还试图了解这种行为,并学习一些关于如何在使用淘汰赛时正确清理陈旧资源的课程。
谢谢你的帮助