vue如何实现自定义组件的v-model,v-model原理解析!
时间:2023-03-28 18:52:39
HTML
.test4{background-color:burlywood;}v-model指令的原理是什么?v-bind绑定一个值属性v-on来监听当前元素的输入事件。当数据发生变化时,将值传递给值,实时更新数据。v-model和v-bind:value有什么区别?在自定义组件中,必须使用v-bind命令来实现组件之间的传值,所以当我还是菜鸟的时候,一直在想,既然有v-bind命令,为什么还要在自己的中使用呢?在定义的组件中实现v-model指令怎么样?自己实践后才发现,v-model不仅可以实现传值,还可以实现页面数据的实时变化,而v-bind只实现传值。如果需要实现实时变化的效果,就需要使用另一种方法来修改变量的值,可以归纳为以下两点:v-model实现了视图和数据的双向绑定,一个的改变也会同时改变另一个。v-bind只会在初始化期间绑定数据。到视图,后续的视图变化不会影响数据现在我们来滚一个自定义的v-model父组件test4
exportdefault{//模型配置可以定义v-model的属性名和事件名model:{prop:"val",//定义传递给v-model的变量,该属性值绑定到On(默认值)event:"onChangeVal",//事件:何时触发v-model行为(以便父组件可以获取值)(默认值输入)},props:{val:{type:String,},},created(){console.log(this.val);},方法:{onInputChange(e){this.$emit("onChangeVal",e.target.value);//触发v-model的行为},},};
.test4{background-color:burlywood;}effect