1.vue3中ref和reactive之间的区别
-
ref 主要用于创建单个的响应式数据。reactive 用于创建包含多个响应式属性的对象。
-
对于基本类型(例如:数字,布尔值)的变量定义,推荐使用 ref,如果需要响应式包装对象或数组,推荐使用 reactive。
-
在模板中使用响应式数据时,无需使用 .value 访问 ref 类型的数据,而是直接使用变量名,而使用 reactive 类型的数据,则直接使用对象属性名。
-
reactive 会递归地将对象的所有属性转换为响应式数据。
-
ref 返回一个由 RefImpl 类构造出来的对象,而 reactive 返回一个原始对象的响应式代理 Proxy。
-
在对ref基本类型监听时可以随时监听到数据的变化,但是如果对引用类型的数据进行监听时就要加上新的属性deep:true进行深度监听才可以起到监听效果,而reactive在监听时本身就已经对对象进行了深度监听,所以两者在对监听方面略微有点差异。
2.组件之间的几种通信方式
-
父子组件通信:
props/emeit;$parent/$children;provide/inject;ref;$attrs/$listeners -
兄弟组件通信:
eventBus; vuex -
跨级通信:
eventBus;Vuex;provide/inject、$attrs/$listeners -
浏览器缓存中的全局通信:
localStorage/sessionStorage
3.promise的几种常见api
- Promise.resolve()
- Promise.reject()
- Promise.prototype.catch()
- Promise.prototype.finally()
- Promise.all()
- Promise.race()
4.async和await之间的联系
5.计算属性和监听之间的区别
6.深拷贝实现的几种方式
7.怎么理解vue中的hooKS
组合式函数,让开发更高效性,相当于提供了一个有利的函数组件,方便在全局进行调用,不存在溯源混乱的问题,比mixin混入要好。
8.千条数据显示的卡段问题
这里只是一个场景,类似于懒加载。 如果是一次性展示,将以利用appedn的方式分批次的js插入
9.有没有办法实现计算属性的异步监听
1.通过async-computed插件实现异步的监听