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 データベースをインストールして永続化する方法
目次JavaScript のインポート1. 内部ラベル2. 外部紹介基本的な構文データ型番号弦ブール...
JSON 形式のフィールドは、MySQL 5.7 で追加された新しい属性ですが、基本的には文字列とし...
新しい接続を作成する側がクライアントに相当し、接続される側がサーバーに相当します。手順は次のとおりで...
Nginx は複数のサーバーをリバース プロキシします。つまり、nginx に異なるリクエストを送信...
以下のように表示されます。 mysql.proc から名前を選択します (db='データベー...
目次1. エラーメッセージ2. エラーの原因3. 解決策1. エラーメッセージ1. インストール後、...
目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...
2次元配列の次元削減配列インスタンスメソッド concat と ES6 スプレッド演算子を使用した次...
この記事では、カルーセルアニメーションを実現するためのVueの具体的なコードを例として紹介します。具...
この記事では、MySQL 8.0.11 MSIバージョンのインストールと設定のチュートリアルを参考ま...
序文実際のビジネスでは、ページングは一般的なビジネス要件です。次に、制限クエリを使用します。制限...
1 はじめにRedis 、 ANSI C言語で開発されたKey-Valueベースの高性能NoSQLデ...
Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...
CHAR 型と VARCHAR 型は似ていますが、主に格納場所、末尾のスペース、取得方法が異なります...
場合によっては、ベースイメージに特定の依存関係をインストールする必要があります。Dockerfile...