【发布时间】:2014-02-19 00:59:12
【问题描述】:
我一直在用 kogrid 编写一个应用程序,最近我将我的数据源从一个对象数组更改为一个淘汰对象数组。然而,令我惊讶的是,当我更新对象中的可观察属性时,网格并未更新。
这是我的数据数组:
self.gridData = ko.observableArray([
{ name: ko.observable("joe"), age: ko.observable(5) }
]);
当我更新年龄属性时,网格上没有任何反应:
self.gridData()[0].age(6);
有人对这是为什么有一个好的答案吗?
更新
我已经回答了below 的问题,但有谁知道为什么 kogrid 会缓存未包装的值?
【问题讨论】:
-
gridData 不是字段吗?我从来没有真正使用过敲除,但你似乎把它当作一个函数来调用。
-
@rogue_js 那句语法其实很好,这是 Knockout 检索 observable 值的方式。
-
您能否提供更多关于如何将所有内容连接在一起的信息,可能会创建一个复制品?您发布的代码看起来不错。
-
@Jeroen 我在下面的回答是否有助于使问题更有意义?你知道为什么要缓存这些值吗?
-
嗯,缓存通常是为了提高性能,但无论如何都是适当的功能。如果缓存没有正确失效,那可能是 kogrid 中的错误,但错误也可能在您的代码中。没有复制就不可能说出来:-)
标签: javascript knockout.js kogrid