2017-06-22 23 views
0

observablearrayに観測可能なプロパティを含むオブジェクトを追加しようとすると、インタフェースが更新されないという問題があります。observableオブジェクトバインディングの観測可能な配列

私はこのフォーラム(KnockoutJS - Observable Array of Observable objects)で同様の質問を勉強しましたが、私は正しい構文を得ることができませんので、試してみると、私は助けを期待しています。 [追加]ボタンを押すと

私は

https://jsfiddle.net/ryrpnbr9/23/

を達成しようとしています何のexmapleを作成したBatchItemオブジェクトが作成され、バッチのBatchItems observablearrayに追加されます。オブジェクトが更新されているのがわかります。

私は、以下の結合を持つテーブルにはすべてのヘルプははるかに高く評価されるだろう

<tbody data-bind="foreach: Batch.BatchItems()"> 
    <tr> 
     <td><span data-bind="text: DocumentType"></span></td> 
     <td><span data-bind="text: ItemType"></span></td>        
    </tr> 
</tbody> 

が定義されています。おかげ

答えて

2

代わりのself.Batch.BatchItems().push(bi);は、あなたがself.Batch.BatchItems.push(bi);

両者の違いを呼び出す必要があります:

最初は内部観察できる配列である配列に直接プッシュします。これは動作しますが、ノックアウトでは何かが変更されたことを伝えることができません...

2番目の方法は、のpushメソッドを使用しています。このpushメソッドは再び内部配列をプッシュしますが、valueHasMutatedも呼び出します。これにより、モデルとUIの更新に必要な依存関係の更新がトリガーされます。

は、迅速な対応のために取り除か()

+0

多くのおかげでfiddleを更新しました。 –

関連する問題