原副标题:丁鹿大学堂:后端复试常试题之vue2和vue3的差别
1 开发周期的变动
其本质上没差别,而已采用方式上有变动
vue2快捷键api能间接初始化,vue3复合式api须要先导入api的关键字相同,绝大部分是vue2的后面加之on模块封存的钳子表达式中文名称变动非常大,而created和beforeCreate在vue3中,即使有了setup表达式而无须被须要:beforeDestroy=》onBeforeUnmount ,destroyed=》onUnmounted2 三根结点
在vue2中,template上面要有两个根结点div,不然会收起警示。而vue3中无须须要,相等于少写了几层。
3 复合式api
Vue2 是 快捷键式API(Option API),两个方式论会在文档相同边线(data、props、computed、watch、开发周期表达式等)。
Vue3 复合式API(Composition API)不过把大部份的文本都放在setup表达式中,须要按需导入。相互配合setup句法苯甲酸钠显得更简约。
4 积极响应式基本原理
vue2 积极响应式基本原理此基础是Object.defineProperty;Vue3 积极响应式基本原理此基础是 Proxy。
Object.defineProperty难以窃听第一类或字符串追加、删掉的原素。而 Vue2 计划是特别针对常见字符串蓝本方式push、pop、shift、unshift、splice、sort、reverse展开了改写;提供更多Vue.set窃听第一类/字符串追加优点。
而vue选用的proxy是ES6新优点,透过第2个模块handler截击最终目标第一类的犯罪行为。相对于Object.defineProperty提供更多词汇全覆盖范围的积极响应潜能,消解了不足之处。但在相容性上不全力支持ie11下列的版,其原因也很单纯,ie11下列不全力支持proxy
5 更快的typescript全力支持
Vue2 Option API中 option 是个单纯第一类,而TS是一种类型系统,面向第一类的句法,不是特别匹配。
Vue2 须要vue-class-component强化vue原生模块,也须要vue-property-decorator增加更多结合Vue优点的装饰器,写法比较繁琐。
Vue3 由TS改写,相对于 Vue2 有更快地TypeScript全力支持。