Object.definePropertyの理解文法:
objとpropは簡単に理解できます。例えば、変数を次のように定義します。 定数o = { 名前:'xbhog' } このうち、objはoを参照し、propはo.nameを参照します。次に、記述子を見てみましょう。
注意: 記述子内の値属性、書き込み可能属性、および取得属性、設定属性は相互に排他的です。存在できるのは 1 つだけです。 前提条件を理解した上で、Vueでv-modelの双方向バインディングを実装してみましょう。まず実装コードを見てみましょう。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>js による双方向データバインディングを実現する</title> </head> <本文> <input type="text"/><br> <h1>こんにちは: <span>データの更新</span></h1> <!-- js を通じて双方向データバインディングを実現する --> <スクリプト> // メソッドは、指定されたセレクターまたはセレクター グループに一致するドキュメント内の最初の HTMLElement オブジェクトを返します。var ipt = document.querySelector('input'); var p = document.querySelector('span'); var データ = {名前:""}; /* oninput イベントは、ユーザーが何かを入力したときにトリガーされます。 このイベントは、<input> または <textarea> 要素の値が変更されたときにトリガーされます。 */ ipt.oninput = 関数(){ // ipt.value の値を data.name の値に渡します データ名 = ipt.値; } //ipt.value をハイジャックする Object.defineProperty(データ、名前、{ //データサブスクリプション get(){ return ipt.value; //アクセス時にgetメソッドが呼び出されます}, //データハイジャック //name:value 設定(値) { p.innerHTML = 値; ipt.value = 値; } }) </スクリプト> </本文> </html> まず、document.querySelector を使用して input タグと span タグの HTML オブジェクトを取得し、属性名が空のデータ オブジェクトを定義します。 oninput イベント リスナーを使用して、ユーザー入力を監視します (このイベントは、<input> または <textarea> 要素の値が変更されたときにトリガーされます)。 ipt.value の値を data.name の値に渡します。 データ名 = ipt.値; Object.defineProperty を使用して、ユーザー入力データを乗っ取ります。
Object.defineProperty(データ、名前、{ //データサブスクリプション get(){ return ipt.value; //data.nameにアクセスすると、getメソッドが呼び出され、ipt.valueを呼び出して現在の値を取得します}, // データハイジャック set(value) { // データを設定するときにsetメソッドが自動的に呼び出されます p.innerHTML = value; ipt.value = 値; } 効果はより明白です: 設定方法: 取得方法: 最終的な効果: 参考文献:
要約するこれで、js を使用して Vue2.0 で双方向データバインディング機能を実装する方法についての記事は終了です。js を使用して Vue2 双方向バインディングを実装することに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MySql 8.0.16 バージョンのインストールでは、「UTF8B3」ではなく「UTF8B4」が使用されるように求められます。
今日は新しいCSS特殊効果、波型ウォーターボール効果を学びました。これもとても美しいです HTML:...
VirtualBoxのインストールディレクトリを見つけます。ディレクトリ内には容量を拡張するために...
1. プラグインを追加し、pomファイルの下に次の設定を追加します。 <!-- mybatis...
目次1. Vスロットの紹介2. 匿名スロット3. 名前付きスロット4. スコープ付きスロット5. 動...
1. 新しいUIプロジェクトを作成するまず、私たちの UI は ColorUI に基づいています。C...
Linux topコマンドの紹介top コマンドは、Linux でよく使用されるパフォーマンス分析ツ...
jvm.options ファイルを elasticsearch 構成に追加し、スタック サイズを変更...
序文要素がビューポート内にあるかどうかを監視する2つの方法を共有する1. 位置計算Element.g...
通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。このよう...
序文Nginx はパフォーマンスを重視して設計された HTTP サーバーです。Apache や li...
操作効果コードの実装html <div id="ウォッチ"> <...
目次道具:ログインシナリオ:練習する:シナリオ1: 思考と実践シナリオ2: 思考と実践要約する道具:...
MySql Nullフィールド判定とIFNULL失敗処理ps: (プロセスを表示したくない場合は、S...
序文データ中心のアプリケーションの場合、データベースの品質はプログラムのパフォーマンスに直接影響する...
手ぶれ防止: 繰り返しのクリックによるイベントのトリガーを防止まず、揺れとは何でしょうか? 震えるの...