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 データベースをインストールして永続化する方法
サーバー上にタスク プロセスがあります。 ps -ef | grep task を使用して表示すると...
毎日jQueryプラグインを学ぶ - フローティングメニュー、参考までに、具体的な内容は次のとおりで...
チャレンジ:文字列内の文字 &、<、>、" (二重引用符)、および &...
コードの一部:コードをコピーコードは次のとおりです。 <ul class="abou...
コンテンツ プロパティは CSS 2.1 で導入され、:before および :after 疑似要素...
Alibaba Cloud ホストを購入したばかりで、その速度を試すのが待ちきれませんでした。しか...
最近、センタリングの問題に数多く遭遇したので、後で簡単に見つけられるように、時間をかけてそれらを要約...
Azure Container Registry は、Docker Registry 2.0 仕様に...
この記事の例では、ショッピングカートの加算と減算、価格計算を実装するためのjsの具体的なコードを共有...
HTMLで表を描くには、表タグを使用します。 trは行を意味しますtdは列を示すth はテーブ...
1. BIOSを確認するまず、コンピュータの起動モードを確認します。win+R と入力し、msinf...
Mysql5.5 デュアルマシン ホットスタンバイ実装 2つのMySQLをインストールするMySQ...
<br />関連記事: ハイパーリンクを表示して開く方法症状<br />ユー...
この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...
まず、HTML タグのいくつかの特性を知っておく必要があります。 1. 「<keyword&g...