この記事では、Vue のフォーム入力バインディングとコンポーネントの基本の分析について説明します。必要な方は参考にしてください。
目標:
vue でのフォームの処理に習熟する
これまでに学んだことを簡単に復習し、学んだことを適用する例を作成します (できればドキュメントなしで)
vue の処理メソッドは v-model 命令を使用します。この命令は、form 要素内の value、checked、および selected 属性にデータを直接バインドすることができます。同時に、これらの属性も無視されます。初期値は無視され、常に vue インスタンスのデータがデータ ソースとして使用されます。
v-model を使用した後は、<textarea></textarea>
間の補間は無効になり、v-model に置き換えられます。
text:
<input v-model="message" placeholder="edit me">
<textarea v-model="message" placeholder="add multiple lines"></textarea>
checkout(single):
<input type="checkbox" id="checkbox" v-model="checked">
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames"> <label for="jack">Jack</label> <input type="checkbox" id="john" value="John" v-model="checkedNames"> <label for="john">John</label> <input type="checkbox" id="mike" value="Mike" v-model="checkedNames"> <label for="mike">Mike</label>
<input type="radio" id="one" value="One" v-model="picked"> <label for="one">One</label> <br> <input type="radio" id="two" value="Two" v-model="picked"> <label for="two">Two</label>
<select v-model="selected"> <option disabled value="">请选择</option> <option>A</option> <option>B</option> <option>C</option> </select>
.number: 数値型に自動的に変換されます
.trim: ガード空白記号を自動的にフィルターします
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>表单输入绑定</title> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script> </head> <body> <p id="app"> <form> <!-- 文本 --> <input type="text" v-model="formData.textValue">{{formData.textValue}}<br> <textarea v-model="formData.textareaValue"></textarea>{{formData.textareaValue}}<br> <!-- checkout(单个) --> <input type="checkbox" id="checkbox" v-model="formData.isChecked"><label for="checkbox">点我啊</label><br> <!-- 多个多选 --> <input type="checkbox" id="haha" value="haha" v-model="formData.checkedValues"> <label for="haha">哈哈</label> <input type="checkbox" id="hoho" value="hoho" v-model="formData.checkedValues"> <label for="hoho">呵呵</label> <input type="checkbox" id="hihi" value="hihi" v-model="formData.checkedValues"> <label for="hihi">嘻嘻</label> <br> 多选选中的是<span v-for="value of formData.checkedValues"> {{value}} </span> <br> <!-- 单选 --> <input type="radio" id="one" value="one" v-model="formData.pickedValue"> <label for="one">one</label> <input type="radio" id="two" value="two" v-model="formData.pickedValue"> <label for="two">two</label> <input type="radio" id="three" value="three" v-model="formData.pickedValue"> <label for="three">three</label> <br> 单选选中的是<span> {{formData.pickedValue}} </span> <br> <!-- 下拉选择框 --> <select v-model="formData.selectedValue"> <option disabled value="">请选择</option> <option>A</option> <option>B</option> <option>C</option> </select> <br> 下拉选择框选中的是<span> {{formData.selectedValue}} </span> <br> <a @click="submitForm">提交</a> </form> </p> </p> <script> var vm = new Vue({ el: '#app', data: { formData: { textValue: '', textareaValue: '', isChecked: true, checkedValues: [], pickedValue:'', selectedValue: '' }, msg: '这是一句消息' }, methods: { submitForm: function(){ for(var key in this.formData) { obj[key] = this.formData[key]; } console.log(this.formData); console.log(this.msg); } } }); </script> </body> </html>
Vue でのクラスとスタイルのバインディングと条件付きおよびリストのレンダリングの分析
以上がVue のフォーム入力バインディングとコンポーネントの基本の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。