vue3项目遇到问题(刚开始添加)

153 阅读1分钟

遇到的问题:

1.reactive 创建对象:const obj = reactive({a:1});当想要给obj重新赋值时,直接 obj = {}; 会不起作用,但是 obj.a = 2;是可以起作用的,原因是因为reactive创建的obj虽然是响应式的,但是响应式的只是它的属性,而不是它自身,重赋值它自身跟重赋值它的属性是两码事。

解决方法:const obj = reactive({data:{}}) 可以使用对象进行一层包裹。

2.defineExpose 使用 <script setup> 的组件是默认关闭的,也即通过模板 ref 或者 $parent 链获取到的组件的公开实例,不会暴露任何在 <script setup> 中声明的绑定。为了在 <script setup> 组件中明确要暴露出去的属性,使用 defineExpose 编译器宏(v3.cn.vuejs.org/api/sfc-scr…)