Vue $set 配列コレクションオブジェクトの割り当てVue カスタム配列オブジェクト コレクションでは、各配列オブジェクトに別の属性と値を追加します。 // データはコレクションオブジェクトを定義します responseData:[ {'id':'1','name':'婦人服','price':115,'num':1,'pic':'../static/img/1.jpg'}, {'id':'2','name':'メンズ衣料品','price':110,'num':1,'pic':'../static/img/2.jpg'}, {'id':'3','name':'子供服','price':118,'num':2,'pic':'../static/img/3.jpg'} ]、 // vue メソッドリクエストはコレクションオブジェクトデータを返します if (res.data.code === 'ok') { that.totals = res.data.data.total; that.questionList = res.data.data.list; } // 代入演算 for(let val of that.questionList){ //これが重要なポイントです。$set(val,'discussAnswer','0'); } Vue this.$set の使用法変更後に配列やオブジェクトが更新されない問題を解決する 1. this.$set は何をするもので、なぜ使用する必要があるのでしょうか?オブジェクトにプロパティを追加し、コンソールに出力できるが、ビューでは更新されない場合、 this.$set() メソッドを使用する必要があるかもしれません。簡単に言えば、 this.$set の機能は、この問題を解決することです。 公式の説明: レスポンシブ オブジェクトにプロパティを追加し、新しいプロパティもレスポンシブであり、ビューの更新をトリガーすることを確認します。 Vue は通常の新しいプロパティ (this.myObject.newProperty = 'hi' など) を検出できないため、リアクティブ オブジェクトに新しいプロパティを追加するにはこれを使用する必要があります。 2. 使い方は?例えば: 1. テンプレートに記述された Vue コード: <div v-for="(item,index) リスト内" :key="index" >{{アイテム名}} </div> <button @click="changeValue" type="primary">値を変更</button> </div> 2. デフォルトでデータをエクスポートする{} データ(){ 戻る { リスト:[ {名前:'29くん',id:1}, {名前:'299くん',id:2}, ] } } 3. ボタンをクリックしてchangeValueメソッドをトリガーします マウントされた(){ this.list[2] = {name:'2999くん',id:3} コンソールにログ出力します。 }, メソッド: { 値を変更する(){ this.$set(this.list,2,{name:'2999kun',id:3}) } } 呼び出しメソッド: this.$set( target, key, value ) 値: 再割り当てされた 4. ボタンがクリックされていない場合、インターフェースは次のようになります。インターフェースは表示されませんが、コンソールが印刷されています。 5. ボタンをクリックすると、this.$set メソッドが呼び出され、3 番目の属性が正常に表示されます。 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Linux に起動方法を追加する (サービス/スクリプト)
1. 環境と準備1. Ubuntu 14.04 2.Docker環境2. 建設プロセス1. ミラーソ...
目次ライフサイクルを理解する理由ライフサイクルとはライフサイクルフック関数作成され、マウントされたフ...
1. 水平中央公開コード: html: <div class="parent&quo...
最新のパーフェクト アロエ ベラ ジェルのパッケージ ボックスには、赤いフォントで完璧な英語の文字が...
仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...
nginxをインストールするnginx-fullをインストールする必要があることに注意してください。...
ブロック引用の定義と使用法<blockquote> タグは引用ブロックを定義します。 &...
目次1- エラーの詳細2-シングルソリューション2.1-ディレクトリ C:\Windows\Syst...
Lottie は、Airbnb が開発した iOS、Android、React Native 向けの...
一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...
MySQL 8.0.13 にはデフォルトでデータ フォルダがあります。このフォルダを削除する必要があ...
本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...
前提条件gitをインストールする必要があるインストール手順1. リモートリポジトリからpyenvをク...
目次1. スイッチ2. whileループ3. Do/Whileループ3. 文字列を数値に変換する1....
IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...