vue 2 和 vue 3 区别

321 阅读1分钟

具名插槽使用: image.png

vue 3 生命周期

image.png

组合式api setup()

image.png

image.png 根据执行顺序 可以知道 没有this,因为组件创建之前就已经执行了setup函数,所以this也不会指向这个实例 image.png

通过 ref 定义 响应式 普通变量 image.png

image.png

image.png

image.png

reactive 定义响应式的 对象参数 image.png

注意 通过es6解构出来的数据 不是响应式的: image.png

通过 toRefs 解决没有响应式问题

image.png 也可以这样写

image.png

image.png watch响应式使用

image.png

1682156952255.jpg

image.png

computed使用 image.png

setup组合式 api生命周期钩子函数

都在前面加一个 on,没有 vue2的 beforeCreate 和 Create 并且里面的钩子函数可以重复调用的 image.png

子组件接收父组件传递的参数,通过 props 父组件传递参数 image.png 子组件接收参数 image.png

Context

image.png

context 的渲染函数 使用 和 子传父数据一起使用 image.png

image.png

image.png

provide 和 inject 响应式传值

image.png

setup 语法糖

image.png

image.png

image.png

image.png

获取动态路由参数

image.png

404页面路由匹配

image.png

image.png

动态路由参数 匹配正则必须为数字,或者可有可无,也可以设置多级路径模式 image.png

vue3 把 vuex(大型项目) 改成 pinia(小型项目)发现vuex不香了

pinia:有setup store 和 ,两种没有什么区别,就看自己写法习惯选择

image.png

option store image.png

setup store image.png

image.png

image.png

image.png

解构响应式,但是action解构不生效,action直接解构就可以了 image.png

image.png

批量修改state ,用 $patch(函数)

方式二 image.png

方式三 和 方式四

image.png

getters 方法写法

image.png

image.png

image.png

可以直接访问其他store中的数据 所以就没有moudles的原因 image.png

action用法 可以直接用this,也可以处理同步和异步函数 ,不能使用箭头函数

image.png

vuex和 pinia区别:

image.png