vue3知识点:reactive函数

news/2024/7/10 1:19:15 标签: 前端, 开发语言, vue, vue3, reactive函数

在这里插入图片描述

文章目录

  • 二、常用 Composition API
  • 本人其他相关文章链接

二、常用 Composition API

问题:啥叫“组合式API”?

答案:请看官方文档: https://v3.cn.vuejs.org/guide/composition-api-introduction.html

3.reactive函数

  • 作用: 定义一个对象类型的响应式数据(基本类型不要用它,要用ref函数)
  • 语法:const 代理对象= reactive(源对象)接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象)
  • reactive定义的响应式数据是“深层次的”。
  • 内部基于 ES6 的 Proxy 实现,通过代理对象操作源对象内部数据进行操作。

注意点1:

问题:reactive函数使用基本类型数据会报错

答案:
在这里插入图片描述
在这里插入图片描述

注意点2:总结:基础类型数据推荐适用ref函数,引用类型数据推荐适用reactive函数

和ref知识点的注意点4有区别,如果想使用reactive函数实现引用数据响应式,使用job

setup(){   
    let job = reactive({
      type:'前端工程师',
      salary:'30K'
    })

    //方法
    function changeInfo(){
      job.type = 'UI设计师'
       job.salary = '60K'
    }

如果想使用ref函数实现引用数据响应式,使用job.value

setup(){   
    let job = ref({
      type:'前端工程师',
      salary:'30K'
    })

    //方法
    function changeInfo(){     
       job.value.type = 'UI设计师'
       job.value.salary = '60K'
    }

注意点3:
当然也可以把基础类型数据和引用类型数据封装成一个代理对象,通过reactive函数关联,使用起来也很方便,缺点是还是写了很多person.xxx重复字符串

<template>
  <h1>一个人的信息</h1>
  <h2>姓名:{{person.name}}</h2>
  <h2>年龄:{{person.age}}</h2>
  <h3>工作种类:{{person.job.type}}</h3>
  <h3>工作薪水:{{person.job.salary}}</h3>
  <h3>爱好:{{person.hobby}}</h3>
  <h3>测试的数据c:{{person.job.a.b.c}}</h3>
  <button @click="changeInfo">修改人的信息</button>
</template>

<script>
import {reactive} from 'vue'
export default {
  name: 'App',
  setup(){
    //数据
    let person = reactive({
      name:'张三',
      age:18,
      job:{
        type:'前端工程师',
        salary:'30K',
        a:{
          b:{
            c:666
          }
        }
      },
      hobby:['抽烟','喝酒','烫头']
    })

    //方法
    function changeInfo(){
      person.name = '李四'
      person.age = 48
      person.job.type = 'UI设计师'
      person.job.salary = '60K'
      person.job.a.b.c = 999
      person.hobby[0] = '学习'
    }

    //返回一个对象(常用)
    return {
      person,
      changeInfo
    }
  }
}
</script>

本人其他相关文章链接

1.《vue3第二章》常用组合式 Composition API,包括setup、ref函数、reactive函数vue3.0中的响应式原理、计算属性与监听属性
2.vue3知识点:setup
3.vue3知识点:ref函数
4.vue3知识点:reactive函数
5.vue3知识点:Vue3.0中的响应式原理和 vue2.x的响应式
6.vue3知识点:reactive对比ref
7.vue3知识点:计算属性与监视属性
8.vue3知识点:生命周期
9.vue3知识点:自定义hook函数
10.vue3知识点:toRef函数和toRefs函数


http://www.niftyadmin.cn/n/898094.html

相关文章

vue3知识点:Vue3.0中的响应式原理和 vue2.x的响应式

文章目录二、常用 Composition API4.Vue3.0中的响应式原理vue2.x的响应式Vue3.0的响应式本人其他相关文章链接二、常用 Composition API 问题&#xff1a;啥叫“组合式API”&#xff1f; 答案&#xff1a;请看官方文档: https://v3.cn.vuejs.org/guide/composition-api-introd…

vue3知识点:reactive对比ref

文章目录二、常用 Composition API5.reactive对比ref本人其他相关文章链接二、常用 Composition API 问题&#xff1a;啥叫“组合式API”&#xff1f; 答案&#xff1a;请看官方文档: https://v3.cn.vuejs.org/guide/composition-api-introduction.html 5.reactive对比ref 从…

vue3知识点:计算属性与监视属性

文章目录二、常用 Composition API7.计算属性与监视属性1.computed函数案例&#xff1a;拼姓名字符串&#xff0c;同vue2计算属性案例类似完整代码2.watch函数案例&#xff1a;计算求和完整代码3.watchEffect函数本人其他相关文章链接二、常用 Composition API 问题&#xff1a…

vue3知识点:生命周期

文章目录二、常用 Composition API8.生命周期vue2.x的生命周期vue3.0的生命周期案例&#xff1a;假设就有人想把“组合式API”和“vue2配置项写法”写一起&#xff0c;那么执行顺序啥样&#xff1f;项目代码本人其他相关文章链接二、常用 Composition API 问题&#xff1a;啥叫…

vue3知识点:自定义hook函数

文章目录二、常用 Composition API9.自定义hook函数案例&#xff1a;页面打印鼠标滑动坐标项目代码本人其他相关文章链接二、常用 Composition API 问题&#xff1a;啥叫“组合式API”&#xff1f; 答案&#xff1a;请看官方文档: https://v3.cn.vuejs.org/guide/composition-…

vue3知识点:toRef函数和toRefs函数

文章目录二、常用 Composition API10.toRef函数案例&#xff1a;区分toRef与toRefs项目代码本人其他相关文章链接二、常用 Composition API 问题&#xff1a;啥叫“组合式API”&#xff1f; 答案&#xff1a;请看官方文档: https://v3.cn.vuejs.org/guide/composition-api-int…

《vue3第三章》其它 Composition API(不常用,了解即可),包括shallowReactive 与 shallowRef、readonly 与 shallowReadonly等等

文章目录三、其它 Composition API(不常用&#xff0c;了解即可)1.shallowReactive 与 shallowRef测试案例完整代码2.readonly 与 shallowReadonly测试案例完整代码3.toRaw 与 markRaw测试案例完整代码4.customRef测试案例完整代码5.provide 与 inject测试案例完整代码6.响应式…

vue3知识点:shallowReactive 与 shallowRef

文章目录三、其它 Composition API(不常用&#xff0c;了解即可)1.shallowReactive 与 shallowRef测试案例完整代码本人其他相关文章链接三、其它 Composition API(不常用&#xff0c;了解即可) 1.shallowReactive 与 shallowRef 注意点1&#xff1a; 问题&#xff1a;为啥sha…