绑定在运行时viewmodel中修改

时间:2014-02-08 12:46:17

标签: javascript mvvm knockout.js

我遇到了在运行时viewmodel中通过原型修改绑定到特定html元素的问题。 我已经为模型添加了一个数组,但在应用绑定后 - 没有任何反应。添加了可观察的工作正常,但问题完全与数组有关。

这是一个代码为click

的jsfiddle
var 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'));

获取建议。

1 个答案:

答案 0 :(得分:0)

问题是ko.cleanNode是not working as you think it is。它并没有像您认为的那样删除所有绑定。

我建议您完全删除节点div,然后克隆并重新添加它。如果你正好使用它,自然jQuery使这很容易。否则我会稍微备份并真正评估是否需要向viewModel的原型添加内容然后重新绑定到div。你确定if绑定不会做你想要的吗?

另外,考虑使用knockout 3测试此代码 - 我相信您会多次收到绑定错误。