Vue3-API学习笔记(持续更新中...)

Posted Power

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue3-API学习笔记(持续更新中...)相关的知识,希望对你有一定的参考价值。

组合式API

SetUp

graph LR
A[setup]  --> B[参数]
    B -->|Props| D[Props是响应式的,故不能解构]
    B -->|context| E[context是一个普通的JS对象,<br/>包括了组件的三个属性:attrs, slots, emit] 

注意事项
如果 data 和 methods 中定义的数据与方法 在setup中也存在,那么setup的优先级更高。
在setup中声明的方法需要return出去。
执行setup时,组件实例尚未创建,此时在setup中可以访问 :

  • props
  • attrs
  • slots
  • emit

data computed methods 及 this均无法访问

代码示例

 setup(props,{attrs, slots, emit}){
 
 }

响应性API

graph TB
A[响应性基础API] -->B[reactive] 
A--> D[readonly]
A--> E[isProxy]
A--> F[isReactive]
A--> G[isReadonly]
A--> H[toRaw]
A--> J[markRaw]
A--> K[shallowReactive]
A--> L[shallowReadonly]
style A fill:#2ff,fill-opacity:0.1,stroke:#faa,stroke-width:4px

reactive

一般定义object(引用数据类型)的响应式数据。

Refs

graph TB
A[Refs] -->B[ref] 
A--> C[unref]
A--> D[isRef]
A--> E[toref]
A--> F[toRefs]
A--> G[isRef]
A--> H[customRef]
A--> J[shallowRef]
A--> K[triggerRef]
style A fill:#2ff,fill-opacity:0.1,stroke:#faa,stroke-width:4px

ref

一般用来定义(数字,字符串)响应式数据,也可以用来定义响应式对象(object/Array)。
如果使用ref来定义对象,那么在ref内部会自动将该对象转为reactive对象。

unref

引用自官网:
如果参数是一个 ref,则返回内部值,否则返回参数本身。
这是 val = isRef(val)* ? val.value : val 的语法糖函数。

isRef

检查值是否为一个 ref 对象,返回布尔值。

toRef

用于将源响应式对象的某一个property创建为一个新的ref,
然后这个新的ref将与原来的property保持引用关系,
可单独来操作这个新的ref,达到修改源对象指定property的目的。

toRefs

将源对象中的property包装成ref对象 并且 将这些ref对象的普通对象返回。
reactive定义的对象被 toRefs 包装以后,那么该对象的每一个属性都将是响应式的。
例子:

<div>
    <p>{{name}}</p>
    <p>{{age}}</p>
</div>
----------------------------------------------------------------------
setup(){
  const obj= reactive({
    name:\'张三\',
    age:11
  })
  // 不丢失响应性的情况下对返回的对象进行分解/扩散: 
  setTimeout(() => {
    obj.name = \'张五\'
    obj.age = 15 
  }, 2000);
  return{
    ...toRefs(obj) // 模板中使用的obj中的属性(变量)是响应式的 
  }
}

以上是关于Vue3-API学习笔记(持续更新中...)的主要内容,如果未能解决你的问题,请参考以下文章

ECMAScript 6 入门学习笔记(持续更新)

Docker学习笔记-持续更新中

JavaScript高级学习笔记目录(持续更新)

JavaScript高级学习笔记目录(持续更新)

Java学习笔记持续更新

Spring学习笔记(持续更新……)