Vue3之to系列

toRef  如果原始对象是非响应式的就不会更新视图 数据是会变的,如果原始对象是响应式的是会更新视图并且改变数据的

非响应式对象:

  const man = {

    name:'man',

    age:18,

    sex:1

  }

  const state = toRef(man,'age')

  const changeToRef = () => {

    state.value  = 60

    console.log(man,state);

  }

注:数据会变化,但是视图不会更新

let info = reactive({

      name: 'Tony',

      greet: 'Hello'

    })

  // 复制 info 里的 greet 属性

    let rGreet = toRef(info, 'greet')

    // 更改 rGreet

    const onChangeGreet = () => {

      rGreet.value = 'world!'

    }

注:数据(info ,rGreet )会变化,视图会更新

toRefs 可以帮我们批量创建ref对象主要是方便我们解构使用(复制 reactive 里的所有属性并转成 ref)

const person = reactive({

    uname:'man',

    age:18,

    sex:1

  })

  let {uname,age,sex} = toRefs(person)

  const changeToRefs = () => {

    uname.value= '嘿嘿'

    console.log(uname,age,sex)

  }

注:解构数据的时候常用

toRaw 将响应式对象转为普通对象

const person = reactive({

    uname:'man',

    age:18,

    sex:1

  })

const rraw = toRaw(person) //转为普通对象

  const changeToRaw = () => {

    console.log(person,rraw)

  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值