v-model是vue的语法糖,用于在表单控件或组件上创建双向绑定。双向绑定是指模型修改后界面视图会自动更新。如果用户更新视图,模型数据也会自动更新。在表单控件上使用v-model。这是一个简单的例子。这个例子只是最简单的绑定形式。v-model通过定义的mytext实现表单的双向绑定。页面效果如下。v-model的本质其实是vue提供的一个语法糖,相当于v-bind:+v-on:既然是语法糖,那么它的作用不止于此,可以利用它的特性来实现通信组件之间。下面举个例子来说明一下:首先body是一个很简单的结构,一个input,两个自定义组件child和childmodelchild和childmodel这两个组件都有一个button,都绑定了一个handleclick事件,input定义了v-model="mytext",动态绑定在child上(省略v-bind):value="mytext",其中value为固定语法,通过prop指定双向绑定的属性,this.$emit更改为input的值。最后页面呈现如下效果:点击child的点击按钮,将输入值改为11111111111111点击childmodel的点击按钮,将输入值改为2222222222222222222自定义组件中定义的props是单向的,且只能从父组件传递给子组件,父组件的更新会向下流向子组件,但子组件无法修改父组件的数据。此时可以通过v-model修改父组件传过来的数据。
