vue3 ref使用(三)

1:ref,shallowRef

ref 深层次转写

isRef 判断某个值是否为Ref

shallowRef 浅层次的响应

ref和shallowRef 两者不能一起使用,shallowRef会被ref影响

import { ref, reactive, shallowRef,triggerRef } from 'vue'
const test = ref({ name: '姓名' })
const test1 = shallowRef({ name: '姓名1' })

单独使用时:

// ref 改变时
const onChange = () => {
  test.value.name = 1 // 可以改变
}

// shallowRef 改变时
const onChange = () => {
  test1.value = {
      name: '姓名2'
  }
// 浅层次 可以改变
}

同时使用时:

const onChange = () => {
  test.value.name = 1 // 可以改变
  test1.value.name = '222' // 这时shallowRef 底层会被ref所影响,也会发生改变
}

通过triggerRef修改shallowRef

const onChange = () => {
  test1.value.name = '222'
  triggerRef(test1) // 通过 triggerRef 修改shallowRef
}

2:ref的获取dom

const dom1 = ref<HTMLDivElement>() // 通过HTMLDivElement类型声明
const onChange = () => {
  console.log(dom1.value?.innerText) //在页面没有创建的时候,是拿不到值得,必须放在dom生成之后,再通过链式访问拿到dom内容
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值