如何知道observableArray中的observable何时发生变化(knockoutJS)?

时间:2014-06-18 23:37:04

标签: javascript knockout.js knockout-2.0

我有一个我创建的数据结构的observableArray,在这个数据结构中,其中一个字段是可观察的。如何跟踪内部可观察量(在数据结构内)的值何时会发生变化?我试图订阅内部变量,但这不起作用。

1 个答案:

答案 0 :(得分:0)

我设置了一个小提琴来模仿你的情况。它由一个具有ko.observableArray的视图模型组成,并且数组中的每个项都包含ko.observable个属性。假设您已定义了在数据结构中创建对象的函数,则可以在每个函数中放置subscribe函数。

这里是link to the fiddle

代码:

function luggage(data) {
    var self = this;
    this.id = ko.observable(data.id);
    this.color = ko.observable(data.color);
    this.color.subscribe(function (newvalue) {
        console.log(self.id() + ' changed!');
    });
}

function vm() {
    this.train = ko.observableArray():
}