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数组上调用?这正是我的问题,一个愚蠢的错误,我看得太远了。非常感谢。