Knockout.js 计算的可观测值不更新

Knockout.js 计算的可观测值不更新,knockout.js,computed-observable,Knockout.js,Computed Observable,我有一个计算出的可观测值,如下所示: this.isActive = ko.computed<boolean>(function () { this.structure().valueSets(); return this.structure().containsValueSet(this.valueSet()); }, this); containsValueSet(valueSetVM:ValueSetVM):boolean { var valueSet

我有一个计算出的可观测值,如下所示:

this.isActive = ko.computed<boolean>(function () {
    this.structure().valueSets();
    return this.structure().containsValueSet(this.valueSet());
}, this);
containsValueSet(valueSetVM:ValueSetVM):boolean {
    var valueSet:ValueSetVM = _.find(this.valueSets(), function (valueSet:ValueSetVM) {
        if (valueSet.id === valueSetVM.id) {
            return true;
        }
    });
    return (Objects.isInstantiated(valueSet));
}
我在ValueSetVM的列表上使用了u.find this.valueSets。当向valueSets数组中添加某些内容时,计算的值不会更新。为什么呢?我假设依赖链有问题

是因为我使用了下划线吗

亲切问候,


丹伍德

我需要确保使用。将可观察数组改为本机javascript数组。举一个例子,我应该用这个:

structure().valueSets.push(valueset);
而不是:

structure().valueSets().push(valueset);

感谢詹姆斯·索普提醒我。

你是如何向阵列中添加内容的?你是在实际的observableArray上调用.push etc,还是在底层的原生javascript数组上调用?这正是我的问题,一个愚蠢的错误,我看得太远了。非常感谢。