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」が使用されるように求められます。
mysqlslap共通パラメータの説明–auto-generate-sql システムはテスト用のSQ...
序文最近、私はクライアントのサーバー構成を支援しており、Nginx 構成ファイルを頻繁に変更していま...
1. はじめにGit は、規模の大小を問わずあらゆるプロジェクトを俊敏かつ効率的に処理するために使用...
今日、クライアントが広告を掲載したいのですが、提供された素材は Flash です。私たちはあまり気に...
序文大規模なフロントエンドの開発に伴い、UI フレームワークが次々と登場し、フロントエンド開発におけ...
HTML でフォームの送信を無効にする方法は 2 つあります。 1. コントロールタグにreadon...
<br />私はこの問題で気が狂いそうです。症状は次のとおりです。 症状の説明: Int...
Ubuntu では中国語入力方法の解決策はありません。仮想マシンや Ubuntu システムをインスト...
目次序文1. 少ない2. コンポーネントをインポートする3. 設定ファイルを変更するステップ1: l...
【1】存在するループを使用して外部テーブルを 1 つずつクエリし、各クエリの存在する条件ステートメン...
目次発見: ディスプレイアニメーションの応用実装:記事の1行目を表示する効果を実現する方法実際、その...
最近、プロジェクトでは kubernetes (以下、k8s と表記、k と s の間には 8 つの...
この記事では、写真の自動再生効果を実現するためのJSの具体的なコードを参考までに紹介します。具体的な...
この記事は 123WORDPRESS.COM Lightning によるオリジナルです。転載する際に...
目次序文VMware クローン仮想マシン (準備、3 台の仮想マシンのクローン、1 台のマスター、2...