knockout.js 如何将绑定再次应用于同一元素

mw3dktmi  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(130)

我使用的是敲入式装订。
在最初创建表并设置绑定之后,我尝试添加新行或更新现有条目,然后更新表。
但是当数据更新时,KnockOut会给我错误消息“您不能对同一个元素多次应用绑定”。
这是我的代码

ko.applyBindings(viewModel);
 $('.tree').treegrid();
juud5qan

juud5qan1#

根据错误,**无法重新绑定已绑定的元素。**清除现有绑定然后重新绑定也不是执行更新的理想方法。
根据我们昨晚的聊天,我相信您正在尝试更新表,然后显示反映更新。
相反,请考虑以下更新现有KnockOut表的示例。
它没有使用jQuery或TreeGrid,但是添加它们应该不是太多的工作。我觉得删除它们简化了这个例子,使它更清楚。
否则,这应该是一个动态添加、删除和更改表条目的很好的示例(而不仅仅是在初始化时)。
编号
第一个
我还添加了KnockoutJS站点,它显示了可用于操作这些行的其他方法:KnockoutJS - Observable Arrays

3pvhb19x

3pvhb19x2#

您应该先清除节点,然后套用挖空系结。

ko.cleanNode($('#html-element-id')[0]);
ko.applyBindings(new ViewModel(modelData{}), $('#html-element-id')[0]);

相关问题