vue3.2 reactive函数问题小结

 更新时间:2022年12月27日 10:42:09   作者:MrLcTate  
reactive用来包装一个对象,使其每个对象属性都具有响应性(也就是深层次响应式),这篇文章主要介绍了vue3.2 reactive函数注意点及问题小结,需要的朋友可以参考下

reactive函数

上篇文章给大家介绍了Vue中的reactive函数操作代码,需要的朋友点击查看。

reactive用来包装一个对象,使其每个对象属性都具有响应性(也就是深层次响应式)。

  • 语法:const 代理对象= reactive(源对象) 。
  • 接收一个对象(或数组),返回一个代理对象(简称proxy对象)。
  • 内部基于 ES6 的 Proxy 实现,通过代理对象操作源对象内部数据进行操作。

注意点1:

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

注意点2:

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

使用reactive函数实现引用数据响应式数据

<script setup>
  //数据
  let job = reactive({
    type: '前端工程师',
    salary: '20K'
  })
 
  //方法
  function changeInfo() {
    job.type = 'UI设计师'
    job.salary = '30K'
  }
</script>

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

<script setup>
  //数据
  let job = ref({
    type: '前端工程师',
    salary: '20K'
  })
  
  //方法
  function changeInfo() {
    job.value.type = 'UI设计师'
    job.value.salary = '30K'
  }
</script>

 注意点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 setup>
import { reactive } from "vue";
//数据
let person = reactive({
  name: "张三",
  age: 18,
  job: {
    type: "前端工程师",
    salary: "20K",
    a: {
      b: {
        c: 666,
      },
    },
  },
  hobby: ["打球", "跑步", "健身"],
});
 
//方法
function changeInfo() {
  person.name = "李四";
  person.age = 50;
  person.job.type = "UI设计师";
  person.job.salary = "30K";
  person.job.a.b.c = 999;
  person.hobby[0] = "学习";
}
</script>

到此这篇关于vue3.2 reactive函数的文章就介绍到这了,更多相关vue3.2 reactive函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3内嵌iframe的传参与接收参数代码示例

    vue3内嵌iframe的传参与接收参数代码示例

    这篇文章主要给大家介绍了关于vue3内嵌iframe的传参与接收参数的相关资料,Vue项目中使用iframe及传值功能相信有不少人都遇到过,需要的朋友可以参考下
    2023-07-07
  • 动态加载权限管理模块中的Vue组件

    动态加载权限管理模块中的Vue组件

    本篇文章给大家详细讲解了如何在权限管理模块中动态的加载VUE组件的过程,有这方面需求的朋友跟着学习下吧。
    2018-01-01
  • 使用vuex存储用户信息到localStorage的实例

    使用vuex存储用户信息到localStorage的实例

    今天小编就为大家分享一篇使用vuex存储用户信息到localStorage的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vue路由插件之vue-route

    vue路由插件之vue-route

    这篇文章主要介绍了vue路由插件之vue-route的相关知识,本文通过实例代码给大家介绍了vue router的使用,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Vue2.0用户权限控制解决方案

    Vue2.0用户权限控制解决方案

    这篇文章主要介绍了Vue2.0用户权限控制解决方法以及源码说明,一起学习下。
    2017-11-11
  • Vue2.0 vue-source jsonp 跨域请求

    Vue2.0 vue-source jsonp 跨域请求

    这篇文章主要介绍了Vue2.0 vue-source jsonp 跨域请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 解决iView中时间控件选择的时间总是少一天的问题

    解决iView中时间控件选择的时间总是少一天的问题

    下面小编就为大家分享一篇解决iView中时间控件选择的时间总是少一天的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • VUE对Storage的过期时间设置,及增删改查方式

    VUE对Storage的过期时间设置,及增删改查方式

    这篇文章主要介绍了VUE对Storage的过期时间设置,及增删改查方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • vue项目退出登录清除store数据的三种方法

    vue项目退出登录清除store数据的三种方法

    最近使用vue做用户的登录/退出,在开发过程中遇到的一些问题,记录下来,下面这篇文章主要给大家介绍了关于vue项目退出登录清除store数据的三种方法,需要的朋友可以参考下
    2022-09-09
  • vue 实现tab切换保持数据状态

    vue 实现tab切换保持数据状态

    这篇文章主要介绍了vue 实现tab切换保持数据状态,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论