したがって、モデルから数値を取得し、その数値(観測可能な配列の長さ)を使用して、「サブモデル」内のオブジェクトの数を動的に制御しようとしています。この場合、親モデルで「メタ見出し」を追加または削除すると、子モデルには自動的に対応する「メタフィールド」の数が自動的に設定されます。ノックアウト:配列内のオブジェクトの数を動的に制御しますか?
だから、これは私が上で物事を基づかだ配列の長さをつかむ:
self.metaCount = ko.computed(function() {
return parent.metaHeadings().length;
});
これは私が動的にオブジェクトをプッシュする配列です:
self.metaColumns = ko.observableArray([]);
そして、どのように私、これはあります配列にアイテムを動的にプッシュしようとしています:
self.columnUpdate = ko.computed(function() {
for (i=0; i<self.metaCount(); i++) {
self.metaColumns.push({heading: ko.observable()});
}
});
ここで、私はモデルでこれをすべてやっています。その理由は、モデルとサブモデルのいくつかのインスタンスがあり、変更が行われたときに、それぞれが独自の更新を処理するようにするのがより理にかなっているからです。
私はこれについてすべて間違っていますか?
驚くばかりです。ありがとう! –