次のような計算されたオブザーバブルがあります。
this.isActive = ko.computed<boolean>(function () {
this.structure().valueSets();
return this.structure().containsValueSet(this.valueSet());
}, this);
this.structure() は StructureVM クラスのインスタンスです (私は TypeScript を使用しています)。StructureVM クラス内の containsValueSet 関数は次のようになります。
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 (this.valueSets()) のリストで _.find を使用しています。valueSets 配列に何かが追加されても、計算された値は更新されません。何故ですか?依存関係チェーンに何か問題があると思いますか?
アンダースコアの使用によるものですか?
敬具、
DenEwout。