首页 > 语言 > JavaScript > 正文

Vue.JS入门教程之处理表单

2024-05-06 15:05:53
字体:
来源:转载
供稿:网友

本文实例为大家分享了Vue.JS表单处理的相关内容,供大家参考,具体内容如下

基本用法

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.16/vue.min.js"></script></head><body><form id="demo"> <!-- text --> <p>  <input type="text" v-model="msg">  {{msg}} </p> <!-- checkbox --> <p>  <input type="checkbox" v-model="checked">  {{checked ? "yes" : "no"}} </p> <!-- radio buttons --> <p>  <input type="radio" name="picked" value="one" v-model="picked">  <input type="radio" name="picked" value="two" v-model="picked">  {{picked}} </p> <!-- select --> <p>  <select v-model="selected">   <option>one</option>   <option>two</option>  </select>  {{selected}} </p> <!-- multiple select --> <p>  <select v-model="multiSelect" multiple>   <option>one</option>   <option>two</option>   <option>three</option>  </select>  {{multiSelect}} </p> <p><pre>data: {{$data | json 2}}</pre></p></form><script> new Vue({  el: '#demo',  data: {   msg  : 'hi!',   checked : true,   picked : 'one',   selected : 'two',   multiSelect: ['one', 'three']  } });</script></body></html>

惰性更新
默认情况下,v-model 会在每个 input 事件之后同步输入的数据。你可以添加一个 lazy 特性,将其改变为在 change 事件之后才进行同步。

<!-- 在 "change" 而不是 "input" 事件触发后进行同步 --><input v-model="msg" lazy>

转换为数字
如果你希望将用户的输入自动转换为数字,你可以在 v-model 所在的 input 上添加一个 number 特性。没有试验成功,不知道什么原因

<input v-model="age" number>

绑定表达式
当使用 v-model 在单选框和复选框时,被绑定的值可以是布尔值或字符串:

<!-- toggle 是 true 或 false --><input type="checkbox" v-model="toggle"><!-- 当单选框被选中时 pick 是 "red" --><input type="radio" v-model="pick" value="red">

这里有一点小的局限性——有的时候我们想把背后的值绑定到一些别的东西上。你可以按下面这个例子实现:

1.复选框

<input type="checkbox" v-model="toggle" true-exp="a" false-exp="b">// 被选中时:vm.toggle === vm.a// 被取消选中时:vm.toggle === vm.b

2.单选框

<input type="radio" v-model="pick" exp="a">// 被选中时:vm.pick === vm.a
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选