vue v-model表单控件绑定详解

时间:2021-05-26

v-model 指令在表单控件元素上创建双向数据绑定,下面一一进行示例解释。

1、v-model 双向绑定文本

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <input v-model="message" placeholder="edit me"> <p>Message is: {{ message }}</p></div></body><script> var vm = new Vue({ el:"#app", data: { message: '绑定文本' } })</script></html>

输出结果:

2、v-model 双向绑定多行文本,与上面的例子相似。

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <<span>Multiline message is:</span> <p style="white-space: pre">{{ message }}</p> <br> <textarea v-model="message" placeholder="add multiple lines"></textarea></div></body><script> var vm = new Vue({ el:"#app", data: { message: '绑定多行文本' } })</script></html>

输出结果:

3、v-model 绑定复选框

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <input type="checkbox" id="checkbox" v-model="checked"> <label for="checkbox">{{ checked }}</label></div></body><script> var vm = new Vue({ el:"#app", data: { checked: 'true' } })</script></html>

输出结果:选中为true 不选中则为false

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <input type="checkbox" id="jack" value="刘二狗" v-model="checkedNames"> <label for="jack">Jack</label> <input type="checkbox" id="john" value="张麻子" v-model="checkedNames"> <label for="john">John</label> <input type="checkbox" id="mike" value="小狗子" v-model="checkedNames"> <label for="mike">Mike</label> <br> <span>Checked names: {{ checkedNames }}</span></div></body><script> var vm = new Vue({ el:"#app", data: { checkedNames: [] } })</script></html>

输出结果:

4、v-model 绑定单选按钮

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <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> <br> <span>Picked: {{ picked }}</span></div></body><script> var vm = new Vue({ el:"#app", data: { picked: '' } })</script></html>

输出结果:

5、v-model 绑定下拉列表

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <select v-model="selected"> <option>A</option> <option>B</option> <option>C</option> </select> <span>Selected: {{ selected }}</span></div></body><script> var vm = new Vue({ el:"#app", data: { selected: '' } })</script></html>

输出结果:

多选列表

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <select v-model="selected" multiple style="width: 50px"> <option>A</option> <option>B</option> <option>C</option> </select> <br> <span>Selected: {{ selected }}</span></div></body><script> var vm = new Vue({ el:"#app", data: { selected: [] } })</script></html>

输出结果:

6、动态选项,用 v-for 渲染:

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="vue.js"></script></head><body><div id="app"> <select v-model="selected"> <option v-for="option in options" v-bind:value="option.value"> {{ option.text }} </option> </select> <span>Selected: {{ selected }}</span></div></body><script> var vm = new Vue({ el:"#app", data: { selected: 'A', options: [ { text: 'One', value: 'A' }, { text: 'Two', value: 'B' }, { text: 'Three', value: 'C' } ] } })</script></html>

输出结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章