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. scale() メソッドズームとは「縮小」と「拡大」を意味します。 CSS3 では、scal...
現在、CSS プリプロセッサは Web 開発の標準となっています。 プリプロセッサの主な利点の 1 ...
<br />ソース コード内で表の構造を明確に区別するために、HTML 言語では、表のヘ...
まずは違いについて話しましょう最後に、書き換えられたルールは、次の場所と一致させるために書き換えられ...
目次ポッドを作成するには? kubectl ツールポッドを作成するには?前回の記事では、コンテナとポ...
この記事では、Docker で新しいイメージを手動で構築する方法を紹介し、皆さんと共有します。詳細は...
最近はWeb2.0という言葉をよく耳にしますが、Web2.0とは何でしょうか? Web 1.0 とど...
1. ネストされたルーティングはサブルーティングとも呼ばれます。実際のアプリケーションでは、通常、ネ...
背景go-fastdfs は、http プロトコルをサポートする分散ファイルシステムです。一般的なプ...
DataGrid コントロールの DataSource プロパティがデザイン時に設定されている場合、...
目次概要(ループモード - 共通)配列と非同期メソッドを宣言して反復するforループで使用するマップ...
Ansible を使用する学生は、以下に示すように、Ansible が特定のフォルダーまたはファイル...
私はしばらくの間チャートをいじっていましたが、好奇心から、CSS を使用してチャートを作成するより良...
目次Linux での Hbase のインストールと設定1. Hbaseインストールパッケージをダウン...
商品を検索するときに、すべてのブランドまたは一部のブランドを表示するTaobaoの機能を真似してみま...