1. ホーム
  2. javascript

Knockout.jsでObservableArrayにある位置のアイテムを追加/挿入する方法

2023-11-15 18:14:50

質問内容

私が見つけたすべてのノックアウトの例は、次のようなものを使用してObservableArrayの最後に新しいアイテムを追加しているようです。

viewModel.SomeItems.push(someNewItem);

もちろん、これは配列の最後に項目を配置します。

ObservableArrayの特定の位置にアイテムを追加するにはどうすればよいですか?

eg.のようなものです。

viewModel.SomeItems.push(someNewItem, indexToInsertItAt);

どのように解決するのですか?

ネイティブのJavaScriptである splice メソッドを使用します - 。

viewModel.SomeItems.splice(2,0,someNewItem);

ドキュメントはこちら - https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice

例 (Knockout 固有のものではありません) 配列に特定のインデックスで項目を挿入するには?

Knockoutのドキュメントから -

配列の内容を変更する関数、例えばpushやspliceのような関数では、KOのメソッドは自動的に依存性追跡を開始します。 のような配列の内容を変更する関数では、KOのメソッドは自動的に依存関係追跡機構をトリガします。 メカニズムを自動的に起動し、すべての登録リスナーに変更が通知されます。 UIが自動的に更新されます。