首页 > 编程 > JavaScript > 正文

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

2019-11-19 16:33:52
字体:
来源:转载
供稿:网友

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>

输出结果:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表