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 に起動方法を追加する (サービス/スクリプト)

推薦する

CocosCreator Huarongdaoデジタルパズルの詳しい説明

目次序文文章1. パネル2. 華容島ソリューション3. コード4. 注記序文華容路とは何ですか? 誰...

Windows の MySQL net start mysql MySQL サービスの起動エラーが発生する システムエラーの解決

目次1- エラーの詳細2-シングルソリューション2.1-ディレクトリ C:\Windows\Syst...

Jenkins+tomcat の自動ホットデプロイメント/再起動と発生した問題の解決策 (推奨)

1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...

html 内の絶対パス URL と相対パス URL、サブディレクトリ、親ディレクトリ、ルート ディレクトリ

絶対 URL は、インターネット上の特定のファイルに必要なすべてのコンテンツを表すために使用されます...

MySQLに挿入する前にデータが存在するかどうかを確認する方法

ビジネスシナリオ: 訪問者の訪問状況を記録する必要があるが、繰り返し記録することはできない挿入する前...

ノードの対応するバージョンに関する簡単な説明 node-sass sass-loader

目次ノードのバージョンが一致しない、ノードをアップグレードまたはダウングレードするnvm を使用して...

webpack-dev-server のコア概念とケースの詳細な説明

webpack-dev-server コアコンセプトWebpack の ContentBase と ...

MySQLの挿入文字化け問題を解決する方法

問題の説明: MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に...

Centos7 で yum を使用して Mysql5.7.19 をインストールする詳細な手順

Centos7 の yum ソースには、mysql の代わりに mariaDB が使用されているため...

JSONObject の使用方法の詳細な説明

JSONObject は単なるデータ構造であり、JSON 形式のデータ構造 ( key-value構...

Tomcatのデフォルトパスの設定によって発生するプロジェクトURLの競合を解決する方法の詳細な説明

序文Tomcat は優れた Java コンテナですが、避けられない小さな落とし穴もいくつかあります。...

シェルで文字列内のスペースや指定された文字を削除する方法

インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...

Linux で推奨される 9 つの優れたコード比較ツールの概要

コードを書くとき、2 つのファイル間の違い、または同じファイルの異なるバージョン間の違いを知る必要が...

IdeaはリモートDockerをデプロイし、ファイルを構成する

1. LinuxサーバーのDocker構成ファイルを変更する vim /usr/lib/system...

MySQLインデックスの基本構文

インデックスはソートされたデータ構造です。 where 条件での検索や order by 条件での並...