ホームページ  >  記事  >  ウェブフロントエンド  >  vue.jsで$setとarrayを更新する方法を詳しく解説

vue.jsで$setとarrayを更新する方法を詳しく解説

小云云
小云云オリジナル
2018-03-09 11:01:232894ブラウズ

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 が更新されると、ページが完全に更新されます。

関連する推奨事項:

VUE 配列更新の詳細な説明

PHP データベースに配列を更新する方法

、配列を使用して mysql データベース データを更新する方法

以上がvue.jsで$setとarrayを更新する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。