1. 次のコードはwatchの簡単な使用法です<div id="アプリ"> <input type="text" v-model="firstName" /> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <スクリプト> var vm = 新しい Vue({ el:"#アプリ", データ:{ firstName:"张" }, 時計:{ firstName:(新しい値、古い値){ //firstNameは監視したいデータの名前です。v-modelのfirstNameを監視するなど、監視したい関数名を使用します。 //newVal: 変更後の値、つまり最初のパラメータを示します。位置を入れ替えないでください。//oldVal: 変更前の値を示します。 console.log({newVal,oldVal}); // {newVal: "陈", oldVal: "张"} } // 監視関数を直接記述し、cityName 値が変更されるたびに関数を実行します。 // 監視データの直後に文字列形式でメソッド名を追加することもできます: firstName: 'nameChange' }, 方法:{ 名前変更(){ } } }) vm.firstName = "陈"; // 監視対象の値を変更する</script> 2. 即時監視watch の基本的な使い方では、値が初めてバインドされるときにはリスニング関数は実行されず、値が変更されたときにのみ実行されるという特徴があります。値が最初にバインドされたときに関数を実行する必要がある場合は、immediate 属性を使用する必要があります。 時計: ファーストネーム: { ハンドラ(新しい名前、古い名前) { this.fullName = newName + ' ' + this.lastName; }, { 即時: true } } } 監視対象データは、ハンドラメソッドと即時処理を含めてオブジェクト形式で記述されます。上記の簡単な記述で記述した関数は、実際にはこのハンドラメソッドを記述しており、デフォルトでは省略されています。 3. ハンドラメソッド<div id="アプリ"> <div> <p>番号: {{ myNumber }}</p> <p>数値: <input type="text" v-model.number="myNumber"></p> </div> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <スクリプト> 新しいVue({ el: '#app', データ: { myNumber: 'Dawei' }, 時計: 私の番号: { ハンドラ(newVal, oldVal) { コンソールにログ出力します。 コンソールにログ出力します。 }, //immediate が true の場合、コールバック関数はすぐにトリガーされます。false の場合、上記の例と同様に、コールバックはすぐには実行されません。 即時: 真 } } }) </スクリプト> //ハンドラメソッドはウォッチで実行する必要がある特定のメソッドです 4. 深い属性オブジェクトやプロパティをどのように監視するのでしょうか?それではdeep属性を紹介しましょう。その役割がこの問題を解決する鍵となります。 <div id="ルート"> <p>obj.a: {{obj.a}}</p> <p>obj.a: <input type="text" v-model="obj.a"></p> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <スクリプト> 新しいVue({ el: '#root', データ: { オブジェクト: { 123 です } }, 時計: オブジェクト: { ハンドラ(新しい名前、古い名前) { console.log(新しい名前、古い名前); }, 即時: true、 深い:本当 } } }) </スクリプト> 上記のコードは deep:true を付けて追加しないとコンソールでは実行されません。初回のみ実行され、出力結果は未定義になります。 デフォルトでは、ハンドラーは obj プロパティの参照の変更のみを監視します。obj に値を割り当てたときのみ監視します。 このとき、ディープ オブザベーションを使用できます。リスナーはレイヤーごとに下に移動し、このリスナーをオブジェクトのすべてのプロパティに追加しますが、これには時間がかかりすぎます。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CSS3はトランジション効果を実現するためにtransitionプロパティを使用する。
>>: docker で PostgreSQL データベースをインストールして永続化する方法
目次1. MySQL ワイルドカード ファジー クエリ (%,_) 1-1. ワイルドカードの分類1...
Tomcatをインストールする前に、まずJDK環境をインストールしてくださいLinux サーバー上で...
導入この記事では、Ubuntu 18.04 デスクトップ システムでディスクを目的のディレクトリにマ...
目次tomcatをデプロイする1.ダウンロードして解凍する2. 設定ファイルを変更する移植プロジェク...
この記事では、WeChatミニプログラムのビデオ弾幕の位置をランダム化するための具体的なコードを紹介...
CEP - 複合イベント処理。ご注文後、一定期間内にお支払いの確認が取れませんでした。タクシーの配...
1. テーブル リセットの 2 つのプロパティ: ①border-collapse: collaps...
データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...
1. 組み込み関数1. 数学関数ランド()丸め(数値) ceil(数値)階数(数値)ランダム丸め切り...
目次1. Dockerの設定2. レジストリとネットワークを作成する3. コンテナを起動する環境説明...
セル - 表の内容 セルの余白 (表の余白) (cellpadding) - セルの外側の距離を表し...
1. 設定ファイルをユーザー環境にコピーし、新しい.vimフォルダを作成し、バンドルサブフォルダを作...
目次外部キーの役割mysql 外部キー設定方法要約する外部キーの役割データの一貫性、整合性を維持し、...
この記事では、参考までにMySQL 8.0.15のインストールと設定のグラフィックチュートリアルを紹...
導入作業プロセス中に、遅いクエリが調整されることがあります。 MySQL SQL ステートメントのチ...