vue $setは配列コレクションオブジェクトへの値の割り当てを実装します

vue $setは配列コレクションオブジェクトへの値の割り当てを実装します

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 )

target : 変更するデータソース(オブジェクトまたは配列)

key : 変更する特定のデータ

値: 再割り当てされたvalue

4. ボタンがクリックされていない場合、インターフェースは次のようになります。インターフェースは表示されませんが、コンソールが印刷されています。

ここに画像の説明を挿入

ここに画像の説明を挿入

5. ボタンをクリックすると、this.$set メソッドが呼び出され、3 番目の属性が正常に表示されます。

ここに画像の説明を挿入

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • vue v-forループでタグ属性に値を割り当てる方法
  • Vueでループオブジェクトのプロパティと属性値を使用する方法
  • Vue ループトラバーサルオプションを実装し、対応するコントロールに割り当てる方法
  • Vueでオブジェクトにループして値を割り当てる方法

<<:  初心者向けMySQLインデックス

>>:  Linux に起動方法を追加する (サービス/スクリプト)

推薦する

MacOS で Docker を使用して MySQL マスター スレーブ データベースを作成する方法

1. MySQLイメージを取得するターミナルから最新のMySQLイメージを取得するdocker pu...

SpringBoot アプリケーションの Docker デプロイメントの実装手順

目次序文DockerファイルDockerfile とは何ですか? Dockerfile 構文Spri...

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...

jsを使用して動的な背景を実現する

この記事の例では、動的な背景を実現するためのjsの具体的なコードを参考までに共有しています。具体的な...

Nginx_geo モジュールを使用して CDN スケジュールを設定する方法

NginxのGeoモジュールの紹介geo ディレクティブは、ngx_http_geo_module ...

期間限定フラッシュセール機能を実装するJavaScript

この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...

基礎知識: ウェブサイトのアドレスの前の http はどういう意味ですか?

HTTPとは何ですか?ウェブサイトを閲覧したいときは、ブラウザのアドレス バーにウェブサイトのアド...

Ubuntu 16.04 カーネルのアップグレード手順

1. 環境仮想マシン上で実行されているUbuntu 16.04では、コマンドuname -rを使用し...

Node.js での SerialPort モジュールの使用

目次目的モジュールのインストール基本的な使い方ポートをスキャンする開いているポートデータの送信データ...

JavaScriptの動作原理を理解しましょう

目次ブラウザカーネルJavaScript エンジンV8エンジンJavaScript がどのように実行...

デジタル時計効果を実現するJavaScript

この記事では、デジタル時計効果を実現するためのJavaScriptの具体的なコードを参考までに紹介し...

Linux ディスク クォータ管理のグラフィカルな例

ディスク クォータは、コンピューター内の指定されたディスクのストレージ制限です。つまり、管理者はユー...

nginx での listen ディレクティブの例の分析

プロットレビュー前回の記事では、ロケーション命令の解析プロセスを分析しました。この内容を簡単に確認し...

Idea は、Web プロジェクトを開始するように Tomcat を設定します。グラフィック チュートリアル

tomcatの設定1. 実行構成をクリック 2. tomcat localを選択 3. tomcat...

ウェブページレイアウトに関する9つのヒント

<br />関連記事: Web コンテンツ ページ作成に関する 9 つの実用的な提案 W...