组合式API
readonly 与 shallowReadonly
- readonly 和 shallowReadonly 都会创建只读的响应式对象,防止直接修改对象的属性。
2. readonly 会递归地将对象所有的属性都转换为只读对象,包括嵌套对象的属性也是只读的,而 shallowReadonly 只会将根级属性设置为只读对象,嵌套对象的属性仍然是可修改的。 - 当对只读响应式对象进行修改时,都会在控制台输出警告,但并不会改变属性的值。
- 使用 readonly 和 shallowReadonly 可以有效地保护响应式对象的属性不被意外修改,并根据需求选择适合的方式来创建只读对象。
shallowReactive 与 shallowRef
● shallowReactive 适用于需要创建浅响应式对象的场景,只对根属性进行响应式处理。
● shallowRef 适用于创建包含基本值或对象引用的 ref 对象,也是浅的,只对根属性进行监听。
toRaw 与 markRaw
● toRaw 将响应式对象转换成非响应式对象
● markRaw 用于标记一个对象,使其永远不会被转换为响应式对象,适用于特殊对象或不希望成为响应式对象的情况。
toRef 与 toRefs
● toRef(响应式对象,响应式对象里面的属性) 用于创建单个属性的 ref 对象,可以访问原始对象的属性值并修改它。
● toRefs 用于将一个响应式对象转换为包含多个属性的 ref 对象集合,通过遍历 ref 对象集合可以访问原始对象的属性值,并且也可以对 ref 对象进行修改,从而影响原始对象。
provide 与 inject
● provide(‘属性名’,传递的参数) 和 inject (‘属性名’)组合在一起,提供了一种在父组件和子组件之间共享数据的简洁方便的方式。只写在setUp中