この記事では、Vue での v-model 命令の分析を紹介します (コード付き)。これは非常に参考になり、困っている友人に役立つことを願っています。
1. 命令の説明
v-model は、基本的に、ユーザー入力イベント (onchange、onkeyup、onkeydown など) を監視する役割を果たします。詳細も確認してください。公式の基礎となる実装ドキュメント ) を使用してデータを更新し、いくつかの極端なシナリオに対して特別な処理を実行します。
2. フォーム入力バインディングのメソッドとメソッド
2.1 入力ボックスの双方向データ バインディングの例:
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <label>请输入:</label><input type="text" v-model="inputs"/><br/> <label>你在input框中输入了:</label><span>{{inputs}}</span> </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', inputs: '' } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <label>请输入:</label><textarea v-model="text"></textarea><br/> <label>你在textarea框中输入了:</label><span>{{text}}</span> </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', text: '' } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <label>请输入:</label><input type="checkbox" id="checkbox" v-model="checked">选我<br/> <label v-if="checked">选中了:</label> <label v-if="!checked">没选中:</label> <span>{{ checked }}</span> </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', checked: '' } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <label>请输入:</label> <input type="checkbox" id="vue1" value="vue1" v-model="checkedValues">vue1 <input type="checkbox" id="vue2" value="vue2" v-model="checkedValues">vue2 <input type="checkbox" id="vue3" value="vue3" v-model="checkedValues">vue3 <br/> <label>选中了:</label><span>{{ checkedValues }}</span> </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', checkedValues: [] } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
2.4 ラジオボタンの実装データバインディングを実行し、選択されたラジオボタンの値を取得して表示します:
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <input type="radio" id="radio1" value="1" v-model="checked">男<br/> <input type="radio" id="radio2" value="2" v-model="checked">女<br/> <label> 选中了:{{ checked }}</label> </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', checked: '' } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <select v-model="selected"> <option disabled value="">请选择</option> <option>A</option> <option value="2">B</option> <option value="3">C</option> </select> <span>Selected: {{ selected }}</span> </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', selected: '' } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
3.1 .lazy
以下のデフォルトの状況では、v-model は入力ボックスの値を同期します。各入力イベントがトリガーされた後のデータ。 (入力方法がテキストを結合する場合を除く)。遅延修飾子を追加して、使用に切り替えることができます onchange イベントは同期されます。入力ボックスにデータが入力されても、データはすぐには変更されません。サンプル コードは次のとおりです。
3.2 .number
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <select v-model="selected" multiple> <option disabled value="">请选择</option> <option>A</option> <option value="2">B</option> <option value="3">C</option> </select> <span>Selected: {{ selected }}</span> </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', selected: [] } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
3.3 .trim
ユーザーが入力した最初と最後の空白文字を自動的にフィルターしたい場合は、v-model にトリム修飾子を追加し、カーソルが入力ボックスの先頭にさらにいくつかのスペースを追加します。簡単なコード例は次のとおりです:
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <!-- 在“change”时而非“input”时更新 --> <input type="text" id="names" v-model.lazy="msg" ><br/> <label>输入值:</label>{{msg}} </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', msg: '' } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
4.1 自定义组件v-model
一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像输入框、单选框、复选框等类型的输入控件可能会将 value 特性用于不同的目的。本文以自定义输入框和onchange事件为例,在输入框输入值,当光标离开以后输入值会输出绑定到置顶位置:
1. 在index中声明组件(在index声明的组件为全局组件,全局可用):
Vue.component('base-text', { model: { prop: 'value', event: 'change' }, props: { checked: Boolean }, template: `<input>` }); =
2. 在要使用该组件的插件中声明:
<template> <div> <p class="p1">{{title}}</p> <div class="spancss1"> <base-text v-model="msg"></base-text><br/> <label>你输入了:</label>{{msg}} </div> </div> </template> <script> export default { name:"v-model", data(){ return { title: 'v-model学习', msg: '' } } } </script> <style scoped> .p1{ text-align: left; } .spancss1{ float: left; } </style>
3. 结果示例如下:
相关推荐:
以上がVue での v-model ディレクティブの分析 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
