ホームページ ウェブフロントエンド Vue.js Vue ドキュメントの v-model ディレクティブの使用方法の詳細な説明

Vue ドキュメントの v-model ディレクティブの使用方法の詳細な説明

Jun 21, 2023 pm 01:16 PM
vue v-model 命令

Vue は人気のあるフロントエンド フレームワークであり、その中心的な機能の 1 つはデータの応答性の高い更新であり、開発者がユーザー インターフェイスの管理と保守を容易にします。 Vue の重要な機能として、v-model ディレクティブはデータの双方向バインディングをより便利に実現できるため、ユーザー インターフェイスがより柔軟で使いやすくなります。 Vue ドキュメントで v-model ディレクティブの使用方法を詳しく見てみましょう。

1. v-model の概念

v-model 命令は、データの双方向バインディング、つまりユーザーが入力したデータをモデルに同期することを実現できます。モデル内のデータをビュー内に同期します。これは、Vue フレームワークの重要な機能の 1 つです。実装は次のとおりです:

1. 入力ボックス要素にバインドします

v-model ディレクティブは、入力ボックス (テキスト、パスワード、数値、など)、ラジオボタン(ラジオ)、チェックボックス(チェックボックス)、ドロップダウンボックス(選択)など。使用法は次のとおりです。

<input type="text" v-model="message">
ログイン後にコピー

上記のコードは、v-model 命令をバインドして双方向バインドを実現することにより、メッセージ変数をユーザー入力ボックスにバインドします。

2. カスタム コンポーネントへのバインド

ネイティブ フォーム入力要素に加えて、Vue は v-model ディレクティブをサポートするカスタム コンポーネントも提供します。これらのコンポーネントは、モデル オプションを使用して内部値をプロパティにマップし、入力イベントが発生したときにのみこの内部値を変更します。サンプル コードは次のとおりです。

Vue.component('my-component', {
  props: ['value'],
  template: `
    <input
      :value="value"
      @input="$emit('input', $event.target.value)"
    >
  `
})
ログイン後にコピー

コンポーネントを定義するときは、v-model ディレクティブが value 変数をコンポーネントにバインドできるように、props オプションを宣言する必要があります。コンポーネントの $emit 関数で入力イベントをトリガーし、ユーザーが入力した値をコンポーネント インスタンスに渡して、双方向バインディングを実現します。

2. v-model の使用法

1. テキスト入力

v-model コマンドをテキスト入力ボックス要素にバインドして、同期更新を実現できます。一般的な単一行のテキスト ボックスに加えて、Vue は以下に示すように、複数行のテキスト入力ボックス textarea のバインドもサポートしています。

<input type="text" v-model="message"> 
 
ログイン後にコピー

ラジオ ボタンとチェック ボックスの場合、v-model は選択された状態をバインドします。 ( true または false)、以下に示すように:

<input type="checkbox" v-model="checked">
ログイン後にコピー

2. ラジオ ボタン

v-model ディレクティブを使用してラジオ ボタン ボックスをバインドするには、次に示すように、オプションに対応する値が必要です。以下:

<input type="radio" v-model="picked" value="a">
<input type="radio" v-model="picked" value="b">
ログイン後にコピー

上記のコードの v-model は、選択された変数にバインドされています。各ラジオ ボタンの値は、オプションの値に対応します。選択された変数の値は、異なる場合にも更新されますオプションが選択されています。

3. チェック ボックス

v-model 命令を使用してチェック ボックスをバインドするには、以下に示すように、ブール型変数にバインドする必要があります。チェックボックスの選択状態はブール型変数にバインドされ、{{ selected }} は変数の値にバインドされます。

4. ドロップダウン ボックス

ドロップダウン ボックスは、以下に示すように、v-model 命令によるバインディングもサポートしています。上記のコードは選択された変数です。ドロップダウン ボックスの各オプションは値に対応します。

3. v-model の修飾子

修飾子は、v-model ディレクティブの後に v-model のデフォルトの動作を変更するために使用される拡張シンボルです。 Vue には複数の修飾子が用意されており、以下で 1 つずつ説明します。

1.lazy

デフォルトでは、v-model ディレクティブは入力イベントによってトリガーされる双方向のバインディングです。 、各各入力はモデルへのデータを更新し、遅延修飾子はこの動作を変更イベントに変更します。これにより、v-model はブラー イベントでのみデータをモデルに同期できるようになります。サンプル コードは次のとおりです。 :

<input type="checkbox" id="checkbox" v-model="checked">
<label for="checkbox">{{ checked }}</label>
ログイン後にコピー

2.number

「number」修飾子を含む v-model ディレクティブの場合、Vue は入力を Number 型に自動的に変換します。サンプル コードは次のとおりです:

<select v-model="selected">
  <option value="a">A</option>
  <option value="b">B</option>
  <option value="c">C</option>
</select>
ログイン後にコピー

3.trim

「trim」修飾子を指定した v-model コマンドは、ユーザーが入力した最初と最後の空白文字を自動的にフィルターします。サンプル コードは次のとおりです:

<input type="text" v-model.lazy="message">
ログイン後にコピー

4. v-model の原理

v-model 命令の実装原理は、データ ハイジャック技術を使用することであり、ユーザー入力ボックスの value 属性が変更されると、v-model はその値を監視します。変更し、その変更をモデルに同期します。同時に、変更はビューにも同期されます。

1. データのハイジャック

Vue フレームワークは、Object.defineProperty メソッドを通じてデータをハイジャックし、モデル変数が読み取られると、get メソッドがトリガーされます。モデル変数に値が割り当てられると、set メソッドがトリガーされ、set メソッド内でモデルの値が更新され、データ更新の通知がトリガーされます。

2. ユーザー入力ボックスの DOM を監視する

ユーザー入力ボックスの値が変更されると、入力イベントがトリガーされ、入力イベントを受信した後、v-model 命令がトリガーされます。ユーザーが入力した値はモデルに同期されます。

3. モデルへの通知

モデルの値が変更されると、v-model ディレクティブは、ディレクティブにバインドされているフォーム要素に新しい値を渡し、ユーザー インターフェイスを更新します。

5. 概要

v-model ディレクティブは、Vue フレームワークの重要な機能の 1 つであり、フォーム データの双方向バインディングにおいて中心的な役割を果たします。 v-model を利用することで、Vue 開発における開発効率とコードの保守性を向上させることができます。同時に、v-model の修飾子と原則を習得することは、Vue フレームワークの動作メカニズムをより深く理解し、フロントエンド開発スキルを向上させるのに役立ちます。

以上がVue ドキュメントの v-model ディレクティブの使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

vue.jsでJSファイルを参照する方法 vue.jsでJSファイルを参照する方法 Apr 07, 2025 pm 11:27 PM

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

VueでWatchの使用方法 VueでWatchの使用方法 Apr 07, 2025 pm 11:36 PM

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

VUEのボタンに関数を追加する方法 VUEのボタンに関数を追加する方法 Apr 08, 2025 am 08:51 AM

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

Vueによる前のページに戻る方法 Vueによる前のページに戻る方法 Apr 07, 2025 pm 11:30 PM

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

Vueはマーキー/テキストスクロール効果を実現します Vueはマーキー/テキストスクロール効果を実現します Apr 07, 2025 pm 10:51 PM

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

怠zyなロードVUEとはどういう意味ですか? 怠zyなロードVUEとはどういう意味ですか? Apr 07, 2025 pm 11:54 PM

Vue.jsでは、Lazy Loadingを使用すると、コンポーネントまたはリソースを必要に応じて動的にロードすることができ、初期ページの読み込み時間を短縮し、パフォーマンスを改善できます。特定の実装方法には、&lt; Keep-Alive&gt;および&lt;コンポーネントは&gt;コンポーネント。怠zyなロードは、FOUC(スプラッシュ画面)の問題を引き起こす可能性があり、不必要なパフォーマンスのオーバーヘッドを避けるために怠zyなロードが必要なコンポーネントにのみ使用する必要があることに注意してください。

Vueのバージョンを照会する方法 Vueのバージョンを照会する方法 Apr 07, 2025 pm 11:24 PM

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

See all articles