javascript - 绑定(bind)在运行时 View 模型中修改

标签 javascript mvvm knockout.js

我遇到了通过原型(prototype)在运行时 View 模型修改到特定 html 元素的绑定(bind)问题。 我已向模型添加了一个数组,但应用绑定(bind)后 - 没有任何反应。添加的可观察量工作正常,但数组确实存在问题。

这是一个jsfiddle,代码为:click

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'));

感谢您的建议。

最佳答案

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

我建议完全删除您的节点 div,然后克隆并重新添加它。如果您碰巧使用 jQuery,那么 jQuery 自然会让这一切变得简单。否则我会稍微备份一下并真正评估您是否需要将内容添加到 viewModel 的原型(prototype)中,然后重新绑定(bind)到您的 div。您确定 if 绑定(bind)不会执行您想要的操作吗?

此外,考虑使用 knockout 3 测试此代码 - 我相信您会收到有关多次应用绑定(bind)的错误。

关于javascript - 绑定(bind)在运行时 View 模型中修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646134/

相关文章:

javascript - 简单的 jquery 字符串计数不起作用

c# - 无法在 Entity Framework 中获取导航属性

c# - 模型演化架构设计查询

javascript - 如何在 IE 中动态生成的挖空模板中自动聚焦到输入元素

javascript - X-Editable 更改后 Knockout Subscribe 不触发

javascript - 如何在 Javascript/Jquery 中更改图表的大小

javascript - 如何制作一个带有两个彼此为 "push"的句柄的 jquery ui slider ?

knockout.js - Typescript 类继承 : override ko. 计算方法

javascript - 按Key值过滤JSON对象到字符串数组

wpf - 如何添加验证以查看模型属性或如何实现 INotifyDataErrorInfo