【问题标题】:KnockoutJS observable not updatingKnockoutJS observable 未更新
【发布时间】:2013-11-16 16:58:46
【问题描述】:

您好,我是 knockoutjs 的新手,并开始从他们网站上的教程中学习。

Observable 数组应该更新页面中的所有绑定。我在 JsFiddle 中练习,我的绑定没有动态更新。

我做错了什么?

JSFiddle Example here

我希望如果我们在文本框中输入它应该会更新表格!

JS代码:

var viewmodel = {
    posts: ko.observableArray(data)
};

【问题讨论】:

    标签: javascript knockout.js knockout-mapping-plugin


    【解决方案1】:

    问题是调用posts: ko.observableArray(data) 只会使数据可观察,而不是其元素。要使整个对象树可观察,您可以使用映射插件,就像在这个更新的小提琴中一样:http://jsfiddle.net/gyW2k/7/

    对代码的唯一改动是:

    var viewmodel = {
        posts: ko.mapping.fromJS(data)
    };
    

    ko 映射文档:http://knockoutjs.com/documentation/plugins-mapping.html

    【讨论】:

    • 感谢您的快速回复。但是我的博客名称仍然没有更新。还有什么我必须做的。感谢您提供文档链接
    • 发生这种情况是因为对象结构不同。查看数据数组中的第一条和第二条记录,您会注意到不同之处。第一条记录可以正常工作,但第二条记录的结构不同,无法正常工作。
    • 再次感谢!阅读文档链接,很有帮助!
    • 不要陷入映射陷阱,并认为它会解决您的所有问题...确保您了解它在创建什么。
    猜你喜欢
    • 2017-09-09
    • 2020-05-05
    • 2016-09-29
    • 2019-01-23
    • 2013-05-16
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多