1. 搭建工程
1-1. 搭建工程
1-1-1. vue2
使用vue-cli:
1 | vue create vue3-app-vue-cli |
1-1-2. vue3
使用vite:
兼容性注意:
Vite 需要 Node.js 版本 14.18+,16+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。
1 | 使用 vit 创建一个名为demo的项目 |
1-2. 运行
1-2-1. vue2(使用vue-cli)
1 | npm run serve |
1-2-2. vue3(使用vite)
1 | npm run dev |
2. 重大变化
2-1. 创建方式
和vue2相比没有构造函数Vue
Vue2写法 (main.js) :
1 | import Vue from 'vue' |
Vue3写法(.mainjs):
vue3中没有默认导出,即
import Vue from 'vue'
导入会报错;
1 | import { createApp } from 'vue' |
注意:
- Vue2升级到Vue3是一个截断式更新,即vue2中可用的部分语法在vue3中是不可用的;
new Vue(options)
和createApp(App)
返回结果不一样,前者是一个组件对象,后者是一个应用对象,后者比较纯粹没有多余的方法;
2-2. 插件的使用
Vue2:
1 | import Vue from 'vue' |
Vue3:
1 | import { createApp } from 'vue' |
2-3. 组件内部
2-3-1. this指向
- Vue2 中
this
指向的是当前组件实例 - Vue3中
this
指向的是一个 proxy 代理,这个proxy代理的就是组件实例
2-3-2. 写法
vue3: composition api
(组合式)
vue2: option api
(配置式)
2-3-3. setup 函数
只执行一次,且在所有生命周期钩子函数调用前执行
代码示例:
1 | <template> |
3. composition api
3-1. ref
声明一个响应式数据
1 | import { ref } from "vue"; |
3-2. watchEffect
监控副作用
1 | import { watchEffect } from "vue"; |
__END__