ホームページ >ウェブフロントエンド >jsチュートリアル >Vue.jsでフォームコントロールを操作する手順を詳しく解説
今回はVue.jsでフォームコントロールを操作する手順について詳しく解説していきます。Vue.jsでフォームコントロールを操作する際の注意点を実際の事例を交えて見ていきましょう。
v-modelディレクティブ: フォームコントロール要素に双方向のデータバインディングを作成します。 v-model は、コントロールの種類に基づいて要素を更新するための正しい方法を自動的に選択します。
チェックボックスが 1 つの場合は論理値、複数の場合は同じ配列にバインドされます:
HTML<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <p>input 元素:</p> <input v-model="message" placeholder="编辑我……"> <p>消息是: {{ message }}</p> <p>textarea 元素:</p> <p style="white-space: pre">{{ message2 }}</p> <textarea v-model="message2" placeholder="多行文本输入……"></textarea> </p> <script> new Vue({ el: '#app', data: { message: 'Runoob', message2: '菜鸟教程\r\nhttp://www.runoob.com' } }) </script> </body> </html>
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 </title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <p>单个复选框:</p> <input type="checkbox" id="checkbox" v-model="checked"> <label for="checkbox">{{ checked }}</label> <p>多个复选框:</p> <input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames"> <label for="runoob">Runoob</label> <input type="checkbox" id="google" value="Google" v-model="checkedNames"> <label for="google">Google</label> <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames"> <label for="taobao">taobao</label> <br> <span>选择的值为: {{ checkedNames }}</span> </p> <script> new Vue({ el: '#app', data: { checked : false, checkedNames: [] } }) </script> </body> </html>
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 </title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <input type="radio" id="runoob" value="Runoob" v-model="picked"> <label for="runoob">Runoob</label> <br> <input type="radio" id="google" value="Google" v-model="picked"> <label for="google">Google</label> <br> <span>选中值为: {{ picked }}</span> </p> <script> new Vue({ el: '#app', data: { picked : 'Runoob' } }) </script> </body> </html>
.lazyデフォルトでは、v-model同期入力ボックスの値を、 input イベントですが、変更イベントで同期に切り替える修飾子 Lazy を追加できます:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <select v-model="selected" name="fruit"> <option value="">选择一个网站</option> <option value="www.runoob.com">Runoob</option> <option value="www.google.com">Google</option> </select> <p id="output"> 选择的网站是: {{selected}} </p> </p> <script> new Vue({ el: '#app', data: { selected: '' } }) </script> </body> </html>
.number
<!-- 在 "change" 而不是 "input" 事件中更新 --> <input v-model.lazy="msg" >type=number の場合、HTML の入力値は常に文字列型として返されるため、これは多くの場合便利です」。 .trim
自動的にフィルタリング
したい場合は、trim 修飾子を v-model に追加して入力をフィルタリングできます:<input v-model.number="age" type="number">これを読んだ後、あなたはこの方法をマスターしたと思います。この記事の事例については、中国の Web サイトにある php のその他の関連記事を参照してください。 推奨読書:
vue がパラメータを渡す環境に従ってさまざまなドメイン名をパッケージ化する方法の詳細な説明
Vue が HTML 文字列を HTML に変換する手順の詳細な説明
以上がVue.jsでフォームコントロールを操作する手順を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。