Vue での this.$set の使用背景: フロントエンド プロジェクトを書いていたとき、バックエンドから json オブジェクトが提供され、それをページ上にレンダリングしました。しかし、私自身のニーズにより、返されたオブジェクトにフィールドを追加したいので、フィールドをプッシュします。フィールドは追加されますが、ページのレンダリングは変わりません。後で、応答がないことに気が付きました。この新しいフィールドをレスポンシブにしたい場合は、this.$set を使用してデータを挿入する必要があります。 Vue のデータでオブジェクトまたは配列 (配列内の値はオブジェクト) が宣言または割り当てられている場合、オブジェクトに新しいプロパティを追加してこのプロパティの値を更新しても、ビューは更新されません。 使用
ここに小さな例を示します。 オブジェクトにageプロパティを追加し、応答的に変更する <テンプレート> <div class="text"> <p>{{リスト}}</p> <button @click="add">年齢++</button> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ(){ 戻る { リスト:{ 名前: "張三"} } }, メソッド: { 追加(){ if(!this.list.age){ // age属性がない場合は、age属性を追加します this.list.age=18 }それ以外{ this.list.age++ } console.log(このリスト) } } } </スクリプト>
データは確かに追加されていますが、ページは age プロパティをレスポンシブにレンダリングしません。 追加されたデータが応答性があることがわかります。 なぜレスポンシブなのか?よく見ると、this.$set に get age メソッドと set age メソッドが追加されていることがわかります。これがレスポンシブである理由です。 分析するVue のレスポンシブ原則は、JavaScript オブジェクトがデータ オプションとして Vue インスタンスに渡されることです。Vue はこのオブジェクトのすべてのプロパティを走査し、Object.defineProperty を使用してこれらすべてのプロパティをゲッター/セッターに変換します。これらのゲッター/セッターはユーザーには見えませんが、内部的には Vue が依存関係を追跡し、プロパティがアクセスされて変更されたときに変更を通知できるようにします。ここで注意すべき点は、コンソールにデータ オブジェクトを出力するときに、ブラウザーによって getter/setter のフォーマットが異なることです。次の図は公式ドキュメントからの抜粋です。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Zabbixを使用してOracleテーブルスペースの操作プロセスを監視する
>>: IE6 での PNG アルファ透明度 (完全コレクション)
最終的な効果は次のようになります。アニメーションは2つのステップに分かれていますランニング軌道を開発...
ここでは、フォーム要素とフォーム送信に関する知識を紹介します。フォーム要素フォーム要素の DOM イ...
テンプレート <el-table :data="データリスト"> &...
Zabbix カスタム スクリプトを使用して監視データを収集する場合、通常、次の問題が発生します。サ...
目次1. Vue3コンポーネント通信方式2. Vue3通信の使い方2.1 小道具2.2 $エミット2...
SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。技術的な観点からリレーショナル...
まず、top のいくつかのフィールドの意味を紹介します。 VIRT:仮想メモリ使用量1. プロセスが...
この記事の例では、テーブルを動的に生成するjsの具体的なコードを参考までに共有しています。具体的な内...
テーブル構造を編集するための MySQL の alter コマンドの使用。具体的な内容は以下のとおり...
目次1. コンポーネントをうまく活用してコードを整理する1. UIコンポーネントを抽出する2. モジ...
ページング クエリを使用するアプリケーションでは、LIMIT と OFFSET を含むクエリが非常に...
目次1. モジュラーコンセプト2. モジュール化3. モジュール化プロセス1. 通常の記述(グローバ...
WeChat ミニプログラム コンポーネント設計仕様コンポーネントベースの開発という考え方は、私の開...
目次1. コンセプトメモリ管理モード住所種別分類例: 2. ページ管理x86 アーキテクチャ 32 ...
1. はじめに以前のプログラム アーキテクチャは次の形式になります。プログラムのサイズが大きくなると...