您好,欢迎访问一九零五行业门户网

一文详解vue怎么实现v-model(附代码示例)

本篇文章给大家带来了关于vue的相关知识,其中主要给大家介绍了我们为什么使用v-model?用vue怎么实现v-model的,感兴趣的朋友一起来看一下吧,希望对大家有帮助。
为什么使用v-model?v-model作为双向绑定指令也是vue两大核心功能之一,使用非常方便,提高前端开发效率。在view层,model层相互需要数据交互,即可使用v-model。v-model的原理简单描述v-model主要提供了两个功能,view层输入值影响data的属性值,data属性值发生改变会更新view层的数值变化。
其核心就是,一方面modal层通过defineproperty来劫持每个属性,一旦监听到变化通过相关的页面元素更新。另一方面通过编译模板文件,为控件的v-model绑定input事件,从而页面输入能实时更新相关data属性值。
v-model是什么v-model就是vue的双向绑定的指令,能将页面上控件输入的值同步更新到相关绑定的data属性,也会在更新data绑定属性时候,更新页面上输入控件的值。vue2.0实现方法父组件<template> <div id="app"> {{username}} <br/> <my-input type="text" v-model="username"></my-input> </div></template><script>import myinput from './components/myinput'export default { name: 'app', components:{ myinput }, data(){ return { username:'' } }}</script>
myinput.vue:<template> <div class="my-input"> <input type="text" class="my-input__inner" @input="handleinput"/> </div></template><script> export default { name: "myinput", props:{ value:{ //获取父组件的数据value type:string, default:'' } }, methods:{ handleinput(e){ this.$emit('input',e.target.value) //触发父组件的input事件 } } }</script>
最常见的还有一种事控制模态框的展示与关闭,我们也可以用v-model 以element 的 el-dialog组件为例子app.vue<template> <div> <kmdialog v-model="showdialog" > <el-button @click="show">点我</el-button> </div></template><script> import kmdialog from 'kmdialog.vue' export default { components: { kmdialog } data () { return { showdialog: false } }, methods: { show() { this.showdialog = true } } }</script>
kmdialog.vue<template> <el-dialog :title="isedit ? '编辑设备' : '新增设备'" :visible.sync="value" width="40%" @close="cancel" > <span>这是一段信息</span> </el-dialog></template><script> export default { props: { value: { default: false, type: boolean } }, methods: { cancel() { this.$emit('input', false) } } }</script>
推荐学习:《vue.js视频教程》
以上就是一文详解vue怎么实现v-model(附代码示例)的详细内容。
其它类似信息

推荐信息