vue3的ref和reactive, 把数据变为响应式数据

  1. 一般处理基本数据类型, 复杂数据类型有reactive函数
<template>
  <h1>ref</h1>
  <hr>
  <div>{{name}}</div>
  <div>{{age}}</div>
  <button @click="changeNameAge">改变名字和年龄</button>
</template>

<script>
import {ref} from "vue"
export default {
  name: 'Vue3Study01Setup',
  setup(){
    let name = ref('lin');
    let age = ref(18)
    function changeNameAge(){
      console.log(name,age);//引用reference实现Implement对象 RefImpl{__v_isShallow: false, dep: Set(1), __v_isRef: true, _rawValue: 18, _value: 18}
      name.value = 'ling',//使用ref需要使用.vlaue调用变量才有用
      age.value = 20
    }
    return {
      name,age,changeNameAge
    }
  }
};
</script>

<style lang="scss" scoped>

</style>
  1. reactive 处理复杂数据类型
<template>
  <h1>reactive</h1>
  <hr>
  <div>{{name}}</div>
  <div>{{age}}</div>
  <div>{{job.type}}</div>
  <div>{{job.language}}</div>
  <div>{{job.a.b.c}}</div>
  <div>{{job2.type}}</div>
  <div>{{job2.software}}</div>
  <button @click="changeNameAge">改变名字和年龄</button>
</template>

<script>
import {ref, reactive} from "vue"
export default {
  name: 'Vue3Study01Setup',
  setup(){
    let name = ref('lin');
    let age = ref(18)
    let job = ref({
      type:'前端开发',
      language: 'JavaScript',
      a:{
        b:{
          c:666
        }
      }
    })
    //reactive 一般处理复杂数据类型, 对象, 数组, 是深层次响应式的, 比用ref少.value拿数据
    let job2 = reactive({
      type:'ui',
      software:'ps',
    })

    function changeNameAge(){
      name.value = 'ling',
      age.value = 20,
      job.value.type = '后端开发',
      job.value.language = 'java'
      job.value.a.b.c = 999

      job2.type = 'test'
      job2.software = '手机电脑'
    }
    return {
      name,age,changeNameAge,job,job2
    }
  }
};
</script>

<style lang="scss" scoped>

</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值