我遇到了在运行时viewmodel中通过原型修改绑定到特定html元素的问题。 我已经为模型添加了一个数组,但在应用绑定后 - 没有任何反应。添加了可观察的工作正常,但问题完全与数组有关。
这是一个代码为click
的jsfiddlevar ViewModel = function() {
var self = this;
this.selectedItems = [{FullName: 'Mike'}]
};
var model = new ViewModel();
ko.applyBindings(model,document.getElementById('node'));
ko.cleanNode(document.getElementById('node'));
model.__proto__.items = [{FullName: 'Michael'}];
ko.applyBindings(model, document.getElementById('node'));
获取建议。
答案 0 :(得分:0)
问题是ko.cleanNode是not working as you think it is。它并没有像您认为的那样删除所有绑定。
我建议您完全删除节点div,然后克隆并重新添加它。如果你正好使用它,自然jQuery使这很容易。否则我会稍微备份并真正评估是否需要向viewModel的原型添加内容然后重新绑定到div。你确定if
绑定不会做你想要的吗?
另外,考虑使用knockout 3测试此代码 - 我相信您会多次收到绑定错误。