DOM を直接変更して操作する js や jQuery とは異なり、Vue は v-model を使用してデータの双方向バインディングを実装します。コントロールの種類に応じて、要素を更新するための適切な方法を自動的に選択します。 v-model は Vue の双方向バインディング命令であり、ページ上のコントロール入力の値を関連するバインドされたデータ属性に同期的に更新したり、データバインディング属性を更新するときにページ上の入力コントロールの値を更新したりすることができます。 公式ドキュメントでは次のように説明されています。 v-modelは単なる構文糖であり、実際の実装は
次のコード <input v-model="txt"> 本質的に <input :value="txt" @input="txt = $event.target.value"> 説明する: vueインスタンスが初期化されると、データの各プロパティが再帰的に走査され、各プロパティのgetメソッドとsetメソッドがdefinePropertyを通じて監視されるため、プロパティが再割り当てされると、変更を監視して対応するページコントロールを操作できます。 以下のコードを見てください。 Object.defineProperty(データ、名前、{ 得る(){ データ["name"]を返します。 }, set(newVal){ val = data["name"]とします。 場合 (val === newVal) { 戻る; } データ["名前"]=newVal; // 属性値の変更をリッスンします。ノードが対応する入力ノードの場合、node.value=newVal; } }) 要約する一方、モーダル レイヤーは Object.defineProperty を通じて各プロパティをハイジャックし、変更が検出されると、関連するページ要素を通じて更新されます。一方、テンプレートファイルをコンパイルすることで、入力イベントがコントロールのv-modelにバインドされ、ページ入力は関連するデータ属性値をリアルタイムで更新できるようになります。 Object.defineProperty は、読み取りおよび書き込み権限や列挙の可否など、オブジェクトのプロパティの特別な操作を制御するために使用されます。ここでは、主に、対応する 2 つの説明プロパティ get と set について学習します。v-model は、実際に get および set 操作を書き換えます。get は、name 属性の値を読み取ることによってトリガーされる関数であり、set は、name 属性の値を設定することによってトリガーされる関数です。 補充するv-model 修飾子: .lazy、.trim、.number lazy: 各入力イベントがトリガーされた後、入力ボックスの値がデータと同期され、lazy修飾子が追加されて、同期に変更イベントを使用するように変換されます。 <input v-model.lazy="msg"> トリム: 文字列の先頭と末尾からスペースを削除します <input v-model.trim="msg"> 数値: データを値型に変換する <input v-model.number="msg"> Vue の双方向イベントバインディング v-model の原理に関するこの記事はこれで終わりです。Vue の双方向イベントバインディング v-model に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Mysql の大きな SQL ファイルの高速リカバリ ソリューションの共有
バックエンドからフロントエンドまで、なんと悲劇なのでしょう。他の人の CSS を自分の jsp We...
この記事では、Centos7.3でのmysql5.7.18のインストールと初期パスワードの変更につい...
1行のコマンド docker run -d \ -v /share:/home/vsftpd \ -...
目次序文単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...
以下のように表示されます。 mysql.proc から名前を選択します (db='データベー...
Docker には多くのログ プラグインがあります。デフォルトでは json-file を使用します...
私たちの生活、仕事、勉強において、ソーシャル ネットワークは徐々に将来のインターネット発展のトレンド...
操作要素の詳細については、前回の記事を参照してください。JavaScript WebAPI、DOM、...
Mysqlトランザクション操作の失敗を解決する方法トランザクションの原子性: トランザクションは、デ...
HTML ページ ソース コード レイアウトの概要この紹介では、Google のホームページのソー...
長い間、リソースの制約により、使用できるフォントが限られていたため、Web サイトの開発は妨げられて...
目次1. 冷蔵庫に入りきらない象2. シャドウクローン文字列3. 実際に見た「奇妙なボール」 4. ...
この記事では、MySQL 8.0.15のインストールと設定方法を参考までに紹介します。具体的な内容は...
効果 html <本文> <div class="content&quo...
目次1. カスタム指示1. グローバルカスタム指示を登録する2. グローバルカスタム指示を使用する3...