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」が使用されるように求められます。
外部アクセスポートをランダムにマップする -P フラグを使用すると、Docker は 49000 か...
デフォルトでは、Linux の MySQL はテーブル名の大文字と小文字を区別します。 MySQL ...
この文書はMySQL Server 8.0.3のインストールと設定方法を参考のために記録したものです...
導入:この記事では主に、Linux システムで IPV6 接続をサポートするように MySQL を構...
序文ドラッグ アンド ドロップ機能を追加すると、プログラムがより自然でユーザーフレンドリーになります...
この効果は、2つのブラウザが互いにシミュレートしていることを示しています 1. シミュレートされたノ...
目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...
Web ページのデザインに関する質問です。すべてに答えられるでしょうか? 1. 単一選択の質問 (...
最も人気のあるフロントエンド フレームワークの 1 つとして、Vue は多くのフロントエンド開発エン...
背景情報最近、Windows パフォーマンスに関する本を読み直しています。以前は SCOM 監視を使...
序文この記事では主に、MySQL で重複レコードをクエリして削除する方法を紹介します。参考と学習のた...
MySQL データベースにデータを挿入します。以前はよく使われていた INSERT INTO テーブ...
プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...
ビジネスシナリオ: 異なるデータベース内のテーブルをクエリするたとえば、関連付けられるテーブルは、マ...
これが何を指しているのかをどのように判断するのでしょうか? ①グローバル環境で呼び出された場合はwi...