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が自動的に更新されます。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] なぜ "use strict "はパフォーマンスを10倍向上させるのか?
-
[解決済み] TypeScriptのdeclare classとinterfaceの違いとは?
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?