Vue双方向バインディングの詳細な説明

Vue双方向バインディングの詳細な説明

1. 双方向バインディング

双方向バインディングとは、フロントエンド データが変更されると、データ内のデータも変更されることを意味します。同様に、データ内のデータが変更されると、フロントエンド ページのデータも変更されます。さらに、このプロセスでは更新は必要ありません。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
<div id="アプリ">
    <!-- 入力した内容が表示されます。実際には、フロントエンドのデータが変更され、それに応じてメッセージも変更されます -->
    入力テキスト: <input type="text" v-model="message">{{message}}
</div>
 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<スクリプト>
    var vm = 新しい Vue({
        el: "#app",
        データ: {
            メッセージ: ""
        }
    });
</スクリプト>
 </本文>
</html>

実行結果:

data 内のデータが変更されると、以下に示すように、フロントエンド ページのデータも変更されます。

ここに画像の説明を挿入

フロントエンドのデータが変更されると、データ内のデータも変更されます。

以下のように表示されます。

ここに画像の説明を挿入

2. 他のタグを選択した場合にも同じ結果になりますか? 答えはもちろん「はい」です。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
<div id="アプリ">
    性別:
    <input type="radio" name="sex" value="Male" v-model="message"> 男性<input type="radio" name="sex" value="Female" v-model="message"> 女性<p>あなたの性別は: {{message}}</p>
</div>
 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<スクリプト>
    var vm = 新しい Vue({
        el: "#app",
        データ: {
            メッセージ: ""
        }
    });
</スクリプト>
 </本文>
</html>

実行結果:

ここに画像の説明を挿入

3. もう一つ見てみましょう:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
<div id="アプリ">
    <v-model を選択="選択">
        <option value="" disabled>--選択してください--</option>
        <option>男性</option>
        <option>女性</option>
    </選択>
    <span>あなたの選択: {{select}}</span>
</div>
 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<スクリプト>
    var vm = 新しい Vue({
        el: "#app",
        データ: {
            選択: ""
        }
    });
</スクリプト>
 </本文>
</html>

実行結果:

ここに画像の説明を挿入

ここに画像の説明を挿入

4. 注記

v-modelすべてのフォーム要素のvaluecheckedselected属性の初期値を無視し、常に Vue インスタンスのデータをデータソースとして使用します。 JavaScript 経由でコンポーネントのデータ オプションに初期値を宣言する必要があります。 ! !

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • v-model 双方向バインディングデータを実装する vue カスタム コンポーネントのサンプル コード
  • Vue2.x における双方向バインディングの原理と実装
  • フロントエンドフレームワーク Vue における親子コンポーネントデータの双方向バインディングの実装
  • Vue の双方向イベントバインディング v-model の原理についての簡単な説明
  • Vue2.0でデータの双方向バインディング機能をjsを使って実装する
  • 純粋な JS を使用して vue.js で双方向バインディング機能を実装する方法

<<:  Linux オペレーティング システムの概要と紹介

>>:  HTML 選択オプションの基本的な理解と使用

推薦する

Linux システムで Java 環境変数を設定する方法

Java環境変数を設定するここで、環境変数は etc/profile に設定され、つまり、すべてのユ...

ウェブサイト標準の検証方法を通じてFlashページを共有する方法

1. 埋め込みは違法です<embed> タグは Netscape のプライベート タグで...

テーブル設定の背景画像が100%表示されない解決策

開発中に以下の状況が発見されました。 (1) ファイルが.jspファイル拡張子で保存されている場合、...

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...

レスポンシブフレームワークのテーブルヘッダーの自動改行問題に対する簡単な解決策

最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...

体験したい17 404ページ

404 を避けるべきだとどうして言えるのでしょうか? その理由は、ほとんどの 404 ページが粗雑す...

Mac OS に MySQL 5.7.20 をインストールするための詳細なグラフィックとテキストの説明

Mac OS X で TAR.GZ から MySQL 5.7 をインストールする MySQL 5.6...

layui をベースにしたログインページの実装

この記事の例では、ログインページを実装するためのlayuiの具体的なコードを参考までに共有しています...

CSS で高さが不明な垂直中央揃えを実装する

この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有しま...

MySQLは数百万のシミュレーションデータ操作コードを自動的に挿入します

私はデータベースツールとして Navicat を使用しています。他のものも同様です。 1. Navi...

あるテーブルのデータの列を別のテーブルの列にコピーするMySQLメソッド

mysql 1 つのテーブル列を別のテーブルにコピーする場合によっては、フィールドから別の新しいフィ...

MySQL 文字列分割操作 (区切り文字を含む文字列のインターセプション)

区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...

Ubuntu でホームディレクトリを新しいパーティションに移行する詳細なチュートリアル

ユーザーのホーム ディレクトリがどんどん大きくなってきたら、ホーム ディレクトリを新しいパーティショ...

登録ページを実装するためのJS、CSS、HTML

HTML と CSS で実装された登録ページ テンプレート。早速、コードを見てみましょう。更新: ...

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明最近、...