インターネット上の this.$set の説明はわかりにくいと感じます。単一データ、オブジェクト、配列、json データのバインディングについてまとめます。 では、早速コードを見てみましょう。 <テンプレート> <div> <!-- 単一データ --> <button @click="text0a">テキスト0</button> <p>テキスト0: {{text0}}</p> <!-- オブジェクト --> <button @click="textObja">テキストオブジェクト</button> <p>textObj.text1: {{textObj.text1}}</p> <!-- 配列 --> <button @click="textArra">テキストArr</button> <p>テキストArr[1]: {{テキストArr[1]}}</p> <!-- json データ --> <button @click="textJsona">テキストJson</button> <p>textJson[1].t5: {{textJson[1].t5}}</p> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ() { 戻る { テキスト0: ''、 テキストオブジェクト: {}, テキスト配列: [], テキストJson:[ {t0: ''}, {t4: ''}, {t7: ''}, ] } }, メソッド: { テキスト0a: 関数() { vm = this とします text100 = 'efghjk' とします vm.$set(vm,'テキスト0',テキスト100) //vm.$set(vm,'text0','efghjk') と同等 }, テキストオブジェクト: 関数 () { vm = this とします textObj100 = {とする テキスト1: '123', テキスト2: '456' } vm.$set(vm.textObj,'text1',textObj100.text1) //これはvm.$set(vm,'textObj',textObj100)と同等です }, テキストArra: 関数() { vm = this とします textArr200 = ['a1','a2','a3'] とします。 vm.$set(vm,'textArr',textArr200) }, テキストJSONA: 関数() { vm = this とします textJson300 = [ とします。 {t1: 't1'、t2: 't2'、t3: 't3'}, {t4: 't4'、t5: 't5'、t6: 't6'}、 {t7: 't7'、t8: 't8'、t9: 't9'}, ] vm.$set(vm.textJson[1],'t5',textJson300[1].t5) //これは vm.$set(vm,'textJson',textJson300) と同等です } } } </スクリプト> <スタイル> </スタイル> 補足: Vue は $set を使用してデータの属性を動的に設定します 実際の開発プロセスでは、モデルをフォーム要素にバインドするときに、バインドされた要素の属性がバックグラウンド データに基づいて動的に生成されます。従来の割り当て方法を使用すると、ビューを更新することはできません 使用する必要がある this.$set(データ名、キー名、キー値) エクスポートデフォルト{ データ:{ //まず空のオブジェクトformObjectを定義します:{}, 配列リスト:[], }, マウント() { この.initPage() }, 方法:{ initPage(){ this.$store.dispatch(namespace/callData).then(res=>{ // データのキーと値を設定する res.data.forEach(item=>{ // ❗❗❗❗❗ this.formObject[item.name] = item.value // ❗❗❗❗ このメソッドはビューを更新できません this.$set(this.formObject, item.name, item.value) // ✅✅✅✅ビューを更新できます}) }) // 配列を変更します this.$store.dispatch(namespace/callData).then(res=>{ // データのキーと値を設定する this.$set(this.arrayList,0,(res.data)[0].id) ✅✅✅✅ビューを更新できます}) } } } 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明
>>: MySQL フルテキスト検索の中国語ソリューションとサンプルコード
メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...
以下のように表示されます。 test コマンドはファイルが存在するかどうかを判断します。 ssh u...
実際のプロジェクトでは、緊急事態を防ぐためにデータベースを頻繁にバックアップする必要があります。しば...
Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...
目次1. 基本概念2. データベース管理技術の開発3. リレーショナルデータベース(RDBMS)の概...
目次1. 小道具親 >>> 子 (Props)子 >>> 親 (...
目次質問1. webpack webpack-cliをインストールする2. webpackのバージョ...
使用例コードをコピーコードは次のとおりです。 <!DOCTYPE html> <!...
目次1. 切り替え方法2. タブを動的に生成する3. キャッシュコンポーネント3.1 キープアライブ...
目次序文:結果: 1.重合効果: 2. 散布効果:具体的な実装手順: 1. プロジェクトにOpenL...
HTML POST リクエストで a タグを使用する 2 つの例を次に示します。 1. ajaxを使...
目次序文ブラウザJS非同期実行の原理ブラウザのイベントループ実行スタックとタスクキューマクロタスクと...
HTML5 のドラッグ アンド ドロップ機能は誰もが知っていますが、これを使用するとドラッグ アンド...
目次MyISAM と InnoDBパフォーマンスの低下と SQL の速度低下の理由: MySQL 実...
目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...