ホームページ > 記事 > ウェブフロントエンド > vue.jsで$setとarrayを更新する方法を詳しく解説
JavaScript の制限により、Vue は次の変更された配列を検出できません: インデックスを使用して配列の項目を直接設定する場合、たとえば: vm.items[indexOfItem] = newValue
配列の長さを変更する場合、例: vm. items.length = newLength の場合、配列は更新されません。
もちろん、vue には解決策があります。それは、Vue.set、vm.$set (Vue.set のバリアント) または splice、caoncat などを使用して配列を変更することであり、これによりステータスもトリガーされます。 update:
ex:
したがって、インスタンスの作成後にインスタンスに新しいプロパティを追加しても、更新はトリガーされません。
追記: arr1 と arr2 の 2 つの配列があります。arr1 が添字割り当てで配列を変更し、arr2 が $set で配列を変更すると、結果はどうなりますか?
data:{ arr1 = ['a','b','c']; arr2 = [‘foo','bar','baz']; } vm.arr1[1] = 'alpha'; vm.$set(vm.arr2, 1, 'alpha');
添え字インデックスに基づいて配列を変更することはステータス更新をトリガーできないと最初に述べたことに基づいて、最初の配列の 2 番目の変更はページ上で更新されず、ページ上の変更のみが更新されることがわかります。 2 番目の配列はページ上で更新されます。ただし、結果は次のようになります。
arr1 = ['a', 'alpha', 'b', 'c']; arr2 = [‘foo', 'alpha', 'bar','baz'];
両方の配列の値が更新されます。つまり、$set() メソッドを使用して arr2 が更新されると、ページが完全に更新されます。
関連する推奨事項:
、配列を使用して mysql データベース データを更新する方法
以上がvue.jsで$setとarrayを更新する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。