v-model的实现原理 vue
基础用法:
v-model
本质上不过是语法糖,常见可以用 v-model 指令在表单 <input>
、<textarea>
及 <select>
元素上创建双向数据绑定。
本质上:
v-model是vue的一个语法糖,一个是v-bind去单项绑定vue实例里面的data数据,然后再通过各种事件比如@change @input等去进行触发事件修改实例数据的值,
如果在vuex中需要去绑定store里面的数据,则需要通过dispatch一个action,然后action再去提交mutation修改store里面的值
底层实现:
核心是Object.defineProperty()
方法,那接下来我们就简单介绍一下!
语法:
Object.defineProperty(obj, prop, descriptor)
其中:
obj
要在其上定义属性的对象。
prop
要定义或修改的属性的名称。
descriptor
将被定义或修改的属性描述符。
其实,简单点来说,就是通过此方法来定义一个值。
调用,使用到了get方法,
赋值,使用到了set方法。
我们来看个例子热热身:
没过瘾?
那再看这链接中写的更详细,3分钟左右即可食用完