首页 / VUE / Vue之v-model
Vue之v-model
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Vue之v-model,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1744字,纯文字阅读大概需要3分钟。
内容图文
v-model
- Vue中v-model能实现数据的双向绑定,实现父子组件通信...
1.v-model用在input元素上
-
虽然Vue是单项数据流,v-model只是一个语法糖,实现双向数据的绑定:
<input v-model="msg" /> <input v-bind:value="msg" @input="msg = $event.target.value" />
-
第一行代码等价于第二行
input 元素本身有个 oninput 事件,这是 HTML5 新增加的,类似 onchange ,每当输入框内容发生变化,就会触发 oninput ,把最新的value传递给 msg
给input标签添加v-model属性,默认会把value作为元素的属性,然后把input事件作为实时传递value的触发事件
-
-
小示例:
<div id="exp"> <input type="text" v-model="msg"> <span>{{msg}}</span> </div> <script> var vm = new Vue({ // el限制一个vue实例的管理范围。 el:"#exp", data:{ msg:"" } }); </script>
2.v-model用在组件上
-
当然v-model还可以用在组件上,更改子组件的值父组件的price也实时变化,以官方例子:
<div id="exp2"> <!-- 等价于 v-bind:value="price" @input="price = arguments[0]"--> <currency-input v-model="price"></currency-input> <span>{{price}}</span> </div>
// 定义组件 Vue.component('currency-input',{ props:['value'], template:` <input ref="ipt" :value="value" @input="$emit('input',$event.target.value)"> ` }); var vm2 = new Vue({ el:"#exp2", data:{ price:100 } })
3.v-model缺点和解决方法
-
在创建类似复选框或者单选框的常见组件时,v-model就不好用了。
-
在input框解决方式
<div id="exp3"> <input type="checkbox" :checked="status" @change="status=$event.target.checked"> </div> <script> var vm3 = new Vue({ el:"#exp3", data:{ status:false }, }) </script>
-
当v-model用在组件上:
<div id="exp4"> <my-checkbox v-model="cks"></my-checkbox> </div> <script> Vue.component('my-checkbox',{ props:['value'], template: ` <input type="checkbox" :checked="value" @change="$emit('input',$event.target.checked)"> ` }); var vm4 = new Vue({ el:"#exp4", data:{ cks:false } }) </script>
原文:https://www.cnblogs.com/xujunkai/p/12228910.html
内容总结
以上是互联网集市为您收集整理的Vue之v-model全部内容,希望文章能够帮你解决Vue之v-model所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。