ホームページ  >  記事  >  ウェブフロントエンド  >  Vue.js でのフォーム コントロールの使用方法の詳細な説明

Vue.js でのフォーム コントロールの使用方法の詳細な説明

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-28 09:21:411459ブラウズ

今回は、Vue.js フォーム コントロールの使用方法について詳しく説明します。Vue.js フォーム コントロールを使用する際の 注意事項 は何ですか?実際の事例を見てみましょう。

コンセプトノート

v-modelディレクティブ: フォームコントロール要素に双方向の

データバインディングを作成します。 v-model は、コントロールの種類に基づいて要素を更新するための正しい方法を自動的に選択します。

入力ボックス

この例では、input 要素と textarea 要素で v-model を使用して双方向データ バインディングを実装する方法を示します。

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>
効果は次のとおりです。

Checkbox

チェックボックスが 1 つの場合、それは論理値であり、複数の場合は同じ配列にバインドされます:

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</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 测试实例 - 菜鸟教程(runoob.com)</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>
効果は以下のようになります:

ダウンリスト

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</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>
効果は図に示すとおりです:

修飾子

.lazy

デフォルトでは、v-model は入力内の入力ボックスの値とデータを同期します。

<!-- 在 "change" 而不是 "input" 事件中更新 -->
<input v-model.lazy="msg" >
.number

ユーザーの入力値を Number 型に自動的に変換したい場合 (元の値の変換結果が NaN の場合) 、元の値が返されます)、v-model に修飾子番号を追加して入力値を処理できます:

<input v-model.number="age" type="number">
これは、type=number の場合、HTML に入力された値が常に文字列として返されるため、多くの場合便利です。 " 使用されている。

.trim

ユーザーが入力した最初と最後のスペースを

自動的にフィルタリング したい場合は、trim 修飾子を v-model に追加して入力をフィルタリングできます:

<input v-model.trim="msg">
これを読んだ後、あなたはこの方法をマスターしたと思います。この記事の事例については、中国の Web サイトにある php のその他の関連記事を参照してください。

推奨読書:

コントローラーはjsを受け取り、jsonパラメータを渡します

vue パラメータメソッドに従ってドメイン名をパッケージ化する方法の詳細な説明

以上がVue.js でのフォーム コントロールの使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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