vue2和vue3的区别
约 261 字小于 1 分钟
2022-04-24
提问
vue2和vue3的区别
区别
响应式原理
vue2 通过
Object.defineProperties()实现数据劫持,结合 发布/订阅模式,将数据变更通知给Watcher,实现响应式。 vue3 通过Proxy做数据劫持,实现响应式对象,同时也保留了getter/setter实现ref()。使用 工厂函数
createApp()代替 构造函数new Vue()创建应用实例使用
app.config.globalProperties代替Vue.prototype用于添加全局属性移除了
Vue.extendv-model使用modelValue/emit代替了value/input的实现key现在不需要添加在v-ifv-elsev-else-if上,Vue会自己生成,且可以添加在<template>上。v-if的优先级总是高于v-for(vue2是反过来的)移除了
filter过滤器自定义指令使用了全新的生命周期
移除了
$children将
$listener合并到了$attrs中,$attrs也包含了class和style使用
beforeUnmount和unmounted代替beforeDestroy和destroyed新增了
setup()以及 组合式API新增内置组件
<Teleport>和<Suspense>
