Vue3 中的 reactive 函数

1.作用

        定义一个对象数据类型的响应式数据(基本数据类型不要它,要用 ref 函数)

2.语法

        const 代理对象 = reactive(源对象), 源对象可以是对象和数组,reactive(源对象)返回一个代理对象(Proxy的实例对象,简称proxy对象)

代理对象(Proxy的实例对象,简称proxy对象)打印结果如下:

 3.注意

        1.reactive 定义的响应式数据是”深层次的“,不管对象或数组中嵌套多少层都可以监测的到

        2.reactive 函数 内部基于 ES6 的 Proxy 实现,通过代理对象对源对象内部进行操作

4.代码展示

<template>
  <!-- vue3 中组件中的模板结构可以没有根标签 -->
  <h1>我是{{ person.name }}</h1>
  <h1>今年{{ person.age }}</h1>
  <h1>工作是{{ person.job.type }}</h1>
  <h1>薪资是{{ person.job.salary }}</h1>
  <button @click="person.sayHello">点击欢迎</button>
  <hr>
  <button @click="person.change">点击更改信息</button>
</template>

<script>

  // 引入 渲染函数中的 h
  import {h} from 'vue'
  // 引入 ref 函数
  import {ref} from 'vue'
  // 引入 recative 函数
  import {reactive} from 'vue'
  export default {
    name: 'App',

    // vue3 配置
    setup() {

      // person 配置
      const person = reactive({ // 数据
        name: '张三',
        age: 18,
        job:{
          type: '前端工程师',
          salary: '30k'
        },

        // 方法
        sayHello() {
          alert('Hello Vue3')
        },

        change() {
          this.name = '李四',
          this.age = 99,
          this.job.type = 'UI工程师',
          this.job.salary = '60k'
          
        }
      })

      console.log(person)

      // 返回一个对象 (常用)
      return {
       person
      }

    }
  
  }
</script>

<style>

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值