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.docker search mysql查看mysql版本 2. docker pull mysq...
Vuex は、Vue.js アプリケーション専用に開発された状態管理パターンです。集中型ストレージを...
1. トランザクションとは何ですか?データベース トランザクション (略称: トランザクション) は...
メタ宣言注釈の手順: 1. モバイル ページと 1 対 1 で対応するすべての PC ページを分類し...
この記事では、キャンバスを使用して画像圧縮アップロードを実現するVueの具体的なコードを参考までに共...
この記事では、MySQL 最適化のヒントで重複したエントリを削除する方法を例を使って説明します。ご参...
ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...
問題の説明nginx を設定することで、異なるポートを介して異なる Web アプリケーションにアクセ...
MySQL 外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、主キー制約...
Ubuntu仮想マシンでのシリアル通信にcutecomを使用する1. cutecomをインストールす...
まずはコードを見てみましょう <フォーム id="uploadFileForm2&q...
CN2ラインとは何ですか? CN2 は、China Telecom Next Carrier Ne...
1. 現在のすべての接続の詳細情報を表示します。 ./mysqladmin -uadmin -p -...
まずは簡単なデータを見てみましょう。 Googleが発表したレポートによると、 ①中国の都市の97%...
前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...