1、创建项目

 

2、reactive和ref

最佳实践:统一使用ref定义响应式数据

3、定义方法

4、计算属性

最佳实践:避免直接修改计算属性的值,除特殊情况无法避免

5.watch侦听

在不开启深度侦听的情况下

watch进行的是浅层侦听

就是只有当整个发生变化时才会触发

eg:[1, 2, 3, 4, 5, 6] 如果 把整个数组都改变 那浅层也能侦听到

如果只改了数组里面的某一个元素的值,那就只有开启深度侦听才能侦听到

6、生命周期函数

vue2vue3时机
createdsetup一进来就调用(实例初始化完成以后调用)
mountedonMounted实例挂载到DOM完成后调用

注意vue3中的声明周期函数需要导入,完整语法演示如下

可以多次调用,多次调用时会按顺序执行,不会冲突

7、组件注册

8、父传子(对应vue2中的props)

9、子传父(对应vue2中的$emit)

 

10、模版引用和defineExpose(对应vue2中的ref和$refs)

使用defineExpose({})暴露属性方法

11、provide和inject

注意只能用于更高层的组件向自己的子孙组件传递

不能反过来

12、defineOptions

13、defineModel

在父组件中用v-model将数据传过去

然后在子组件中使用defineModel接收

然后在子组件中就可以使用和修改这个数据,且父组件中可以同步修改

14、Pinia(相当于vuex)

注意在

const 自定义名称 = 定义时导出的名称()

此处导入时如果直接对数据(普通数据、计算属性)使用解构则会丢失响应式

可以对方法直接解构

对数据解构的话要使用

const { 解构数据 } = storeToRefs(自定义名称)

要多写一行,不能直接const { 解构数据 } = 定义时导出的名称()

且需要导入import { storeToRefs } from 'pinia'

 

15、Pinia数据持久化

开始 | Pinia Plugin Persistedstate

16、路由配置

vue3中的路由配置与vue2中有所不同的地方,但是大致相同,初始化项目后配置如下

17、element-plus的使用

18、axios拦截器的配置(拓展)

19、element-plus表单组件的使用

20、element-plus菜单组件的使用

21、导航守卫

vue2导航守卫参考文档导航守卫 | Vue Router

vue3导航守卫参考文档导航守卫 | Vue Router

22、下拉菜单

23、其余组件用法

由于组件用法较多此处不再一一演示

更多用法查阅官网即可

官网解释非常详细