Vue モニターのプロパティリスナープロパティとは何ですか?いわゆる監視とは、組み込みオブジェクトの状態やプロパティの変化を監視し、それに対応することです。プロパティを監視するということは、他のデータの変化を監視できることを意味します。 リスニングプロパティと計算プロパティの違いは何ですか?計算されたプロパティはキャッシュされ、依存する値が変更されると結果が再計算され、DOM が更新されます。 プロパティはプロパティ値を監視し、定義された値が変化すると、対応する関数が実行されます。 使用方法の主な違い: 計算プロパティは非同期タスクを実行できません。計算プロパティは通常、サーバーを要求したり、非同期タスクを実行したりするために使用されません。これは、これには長い時間がかかる可能性があり、計算プロパティはリアルタイムで更新する必要があるためです。したがって、この非同期タスクは、listening プロパティを使用して実行できます。 一言で言えば、コンピュータでできることは時計でもでき、コンピュータでできないことは時計でもできる。 監視プロパティの使用監視構成項目を使用して、監視するプロパティを構成項目に書き込みます。プロパティ値が変更されると、ハンドラー関数のコールバックがトリガーされます。計算されたプロパティの変更を監視することもできます。 例: 入力ボックスの変更を監視する コード <テンプレート> <div class="main"> 私: <el-input v-model="name" placeholder="お名前を入力してください"></el-input> 友達 1<el-input v-model="friends.friend_1" placeholder="名前を入力してください"></el-input> 友達 2<el-input v-model="friends.friend_2" placeholder="名前を入力してください"></el-input> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ(){ 戻る { 名前:「ロマンティック コーダー」 friends:{friend_1:'张三',friend_2:'李四'} } }, 時計:{ 名前:{ handler(newValue,oldValue){ //newValue 新しい値、oldValue 変更前の値 console.log(newValue,oldValue) this.friends.friend_1='王武' } }, // マルチレベル構造 'friends.friend_1' 内の特定の属性の変更を監視します:{ ハンドラー(新しい値、古い値){ console.log(新しい値、古い値) } }, '友達.友達_2':{ ハンドラー(新しい値、古い値){ console.log(新しい値、古い値) } }, } }; </スクリプト> ディープモニタリングオブジェクトが多層構造になっている場合、オブジェクトの多くのプロパティを監視する必要があり、各プロパティを個別に記述することを避ける必要があります。このとき、ディープ モニタリングが使用されます。 監視構成の監視プロパティ オブジェクトで deep を true に設定して、複数レベルのオブジェクトまたは配列内の値の変更を監視します。 時計:{ // マルチレベル構造内のすべての属性の変更を監視します friends:{ ハンドラー(新しい値、古い値){ console.log(新しい値、古い値、"aa") }, deep:true, // ディープモニタリングを有効にする} } 注意:ここで問題があります。ディープモニタリングが発生すると、新しい値と古い値は同じになりますか? 公式説明: オブジェクトまたは配列を変更する(置き換えるのではなく)場合、それらの参照は同じオブジェクト/配列を指しているため、古い値は新しい値と同一になります。 Vueは変更前の値のコピーを保持しません これによりポインタが変更されます。私の記事「JS のディープコピー方法を知っていますか?」では、データストレージについて説明しました。 今すぐお電話くださいディープ構成の場所と同じです。 現在のハンドラコールバックを直ちにトリガーするには、 時計:{ 名前:{ handler(newValue,oldValue){ //newValue 新しい値、oldValue 変更前の値 console.log(newValue,oldValue) this.friends.friend_1='王武' }, 即時:true }, } ページが読み込まれたときに一度実行されるため、古いデータは 要約するウォッチ リスニング プロパティは通常、データの永続化、イベントのディスパッチ、同期/非同期実行、形式の検証などに使用できます。 この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CSS3 で背景ぼかしを実現する 3 つの方法 (要約)
1. Linux で Selenium を使用する1. Chromeをインストールする次のコマンドを...
取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...
目次概要フレームワークを選択する理由は何ですか? js のエンバーEmber.js と Vue.js...
<br />前回の記事:Webデザイン講座(4):素材と表現について Webデザイン上級...
目次1: galera-clusterの紹介2. galera-clusterの仕組み3: Mari...
2019年から、AndroidとiOSの両方のプラットフォームでダークモードが使用され始めました。も...
今日は、データベース遅延ジャンプに関する別の典型的な問題を分析しました。このプロセスでは、参考のため...
エフェクト表示: 環境準備コントローラーノード: 6GB 4時間60GB/30GB/30GB計算ノー...
複数のTomcatをインストールする場合は、システムにJDKがインストールされている必要があり、 T...
1. Alipay方式: Alipay メソッド: Alipay をクリックして支払い、バックエンド...
スタイルシートの最も重要な機能の 1 つは、ページ、画面、電子シンセサイザーなどの複数のメディアに適...
この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...
この記事では、WeChatアプレットで星評価を実装するための具体的なコードを参考までに紹介します。具...
Shopify Plus は、私たちが設立した e コマース プラットフォームのエンタープライズ バ...
まずケースを見てみましょう。vue+swiper を使用して実装します。スライドの高さが異なる場合、...