vue2是选项类型api(option):定义methods,computed,watch,data属性方法共同处理页面的逻辑;
vue2的双向数据绑定是利用es5的一个api object.definedPropert().对数据进行劫持,结合 发布订阅模式的方式来实现的。
vue3 中使用了es6的 Proxy
API 对数据代理。(Proxy对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义)使⽤ref或者reactive将数据转化为响应式数据。
vue3是合成类型的api(composition):vue3整合了data,methods一些属性用setup代替,代码更加简便整洁。setup函数是处于生命周期beforeCreated和created俩个钩子函数之前。vue3种不能使用this,使用会返回undefined,几乎全是函数 vue3一个功能定义的api会放在一起,代码多也能快速的早到. vu2分开写它的功能.
vue2是通过替换状态对象属性的getter和setter来实现的,
vue3则通过proxy进行.
setup()内使用响应式数据时,需要通过.value获取
vue2是直接创建了一个实例,vu3是按需导出一个createApp。
Vue2种必须有一个根元素,vue3中单文件不强制要求有根元素。
Vue3父子传参:setup接收两个参数(props、const)
Vue3允许一个组件支持多个节点。