vue3 API概览

作者: 海豚先生的博客 | 来源:发表于2023-02-21 17:36 被阅读0次

setup函数

  • 与data、methods中的数据合并时,setup返回的数据的优先级更高
  • 没有this,setup执行在beforeCreate之前
  • 参数1,props
  • 参数2,context对象,包括arrtrs,slots,emit

ref

  • 会将传入的数据(基本类型或者复杂类型)包装成对象,在script中修改时要使用.value,在模板中不需要.value(会自动解包)

refs

  • 实验性的功能,不需要.value即可修改数据

shallowRef

  • 只有重新赋值才是响应式

reactive

  • 只接受对象类型的参数
  • script中不需要使用.value

shallReactive

  • 只有对象的第一层属性是响应式的

toRefs

  • 将响应式对象中的所有属性包装为ref对象并返回
  • setup返回reactive定义的对象时,如果使用...展开对象,则对象中基本类型失去响应性,可以使用...toRefs(obj),使每个属性变为响应性

toRef

  • 为响应性对象上的某个属性创建一个ref引用,属性更新时,引用对象会同步更新

readonly

  • 只读代理对象,不可修改

shallowReadonly

  • 修改第一层属性会报错

toRow

  • 返回reactive或者readonly对象的原始数据
  • 返回的数据不具有响应性

markRow

  • 标记一个对象使其不具有响应性,应用在不可变数据

computed函数

  • 接收一个包含返回值的回调函数,或者包含get/set函数的对象

watch函数

  • 监听一个或多个数据,监听多个时第一个使用数组参数
  • 监听reactive对象的属性时,第一个参数必须使用回调函数形式

watchEffect

  • 初始化时就执行一次,不需要指定监听的数据

provide函数

  • provide('color','red')

inject函数

  • color = inject('color')

响应性数据的判断

  • isRef
  • isReactive
  • isReadonly
  • isProxy

生命周期

  • onBeforeMount
  • onMounted
  • onBeforeUpdate
  • onUpdated
  • onBeforeUnmount
  • onMounted
  • onActivated
  • onDeactivated

组件

  • Fragment,允许多个根元素
  • Teleport,瞬移,vue2也有
  • Suspense,展示中间过渡状态

获取dom

<input ref = inputDom />
const inputDom = ref(null);
onMounted(() => {
  nextTick(() => {
    inputDom.value.focus()
  })
})

自定义hook函数

  • 创建一个函数,名称必须以use开头
  • 必须return数据

customRef

  • 使用customRef,自定义一个hook,自动依赖追踪,触发响应


    image.png
    image.png

相关文章

网友评论

    本文标题:vue3 API概览

    本文链接:https://www.haomeiwen.com/subject/ziznkdtx.html