【问题标题】:knockout not updating values in view淘汰赛不更新视图中的值
【发布时间】:2013-03-19 08:49:24
【问题描述】:

我有以下标记:

<ul data-bind="foreach: nameList">
    <li data-bind="text: $data"></li>
</ul>
<button data-bind="click: addname">add name</button>
Total names: <span data-bind="text: nameList().length"></span>

我的视图模型如下所示:

var viewmodel = {
    nameList: ko.observableArray(["Brian"]),
    number: ko.observable(100),
    addname: function(){
        alert(this.nameList().length);
        this.nameList().push("name");
        alert(this.nameList().length);
    }
};

ko.applyBindings(viewmodel);

每当执行 addname 方法时,alert 都会更新 nameList 数组,但是 标记不反映这些变化。那么它有什么问题呢?

【问题讨论】:

  • 你能发布 HTML 吗?

标签: javascript html mvvm knockout.js


【解决方案1】:

知道了!你需要改变:

this.nameList().push("name");

到这里:

this.nameList.push("name");

(因为nameList是一个数组,不是一个方法)

演示:http://jsfiddle.net/G464V/

【讨论】:

    猜你喜欢
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 2015-04-01
    相关资源
    最近更新 更多