首页 > 其他分享 >vue3 reactive函数

vue3 reactive函数

时间:2022-10-30 17:22:55浏览次数:91  
标签:函数 userAge 对象 数据类型 increase reactive user vue3

reactive的用法与的用法相似,也是将数据变成响应式数据,当数据发生变化时也会自动更新。不同的是用于基本数据类型,而是用于复杂数据类型,比如对象和数组
例如:定义一个对象类型的变量refUIrefreactiveuser

<template>
  <div>
    <p>{{ user }}</p>
    <button @click="increase">click me! one year later</button>
  </div>
</template>

<script>
import { reactive } from "vue";
export default {
  name: "reactive",
  setup() {
    const user = reactive({ name: "Alice", age: 12 });
    function increase() {
      ++user.age
    }
    return { user, increase };
  },
};
</script>

如上,当点击按钮时,让数据加1,当Vue发现数据发生变化,会自动更新
那我们验证了,确实函数可以将一个复杂数据类型变成响应式数据。我们不妨将函数执行的结果打印出来看下,看看它返回值是什么user.ageUIreactivereactive
image
我们发现,执行结果是将传递的对象包装成了对象reactiveproxy
接下来我们测试一下,如果传递基本数据类型呢?

<template>
  <div>
    <p>{{ userAge }}</p>
    <button @click="increase">click me! one year later</button>
  </div>
</template>

<script>
import { reactive } from "vue";
export default {
  name: "reactive",
  setup() {
    let userAge = reactive(12);
    function increase() {
      console.log(userAge);
      ++userAge;
    }
    return { userAge, increase };
  },
};
</script>

运行发现,基本数据传递给,并不会将它包装成porxy对象,并且当数据变化时,界面也不会变化reactivereactive

需要注意的是,中传递的参数必须是对象或者数组,如果传递了其他对象(比如),在默认情况下修改对象,界面不会自动更新,如果也需要具有响应式,可以通过重新赋值的方式实现reactivejsonnew Date()

以上就是中函数基本使用!vue3reactive

标签:函数,userAge,对象,数据类型,increase,reactive,user,vue3
From: https://www.cnblogs.com/java-six/p/16841719.html

相关文章

  • vue3路由的使用
    一、路由的概要1.1、什么是路由?路由就是一组映射关系,根据不同的url地址展示不同的内容或页面(key-value);key为路径,value可能是function或component 路......
  • java spring项目中使用设计模式和函数式编程的思想去除业务逻辑中的if else判断
    如果你开发项目时对项目之后的发展很清晰但仍陷入了为什么要用设计模式替换ifelse的疑问时就说明你项目的体量不需要用设计模式答案只在问题提出之后有意义策略和状......
  • 【XSY3804】QQ数(莫比乌斯函数,容斥)
    题面题解明显地,这个QQ数可以用\(\mu\)表示,于是询问就变成了这样:\[\begin{aligned}&\sum_{i=1}^n\sum_{d|i}\left(1-\mu(d)^2\right)\\=&\sum_{d=1}^n\left\lfloo......
  • Vue3中 响应式 API ( readonly、shallowReadonly、toRaw、markRaw ) 详解
    ​​传送门:Vue3中响应式API(reactive、ref、toRef、toRefs)详解​​传送门:Vue3中响应式API(shallowReactive、shallowRef、triggerRef、customRef)详解1.readonly......
  • 【UOJ424】count(笛卡尔树,DP,生成函数,矩阵快速幂)
    首先可以发现两个序列\(A,B\)同构当且仅当它们的笛卡尔树同构。那么可以考虑枚举笛卡尔树,然后判断它能否构成满足题目条件的序列。发现一棵笛卡尔树满足条件当且仅当它......
  • 0084-Go-函数
    环境Time2022-08-23Go1.19前言说明参考:https://gobyexample.com/functions目标使用Go语言的函数。定义函数funcplus(aint,bint)int{returna+......
  • 0085-Go-多返回值函数
    环境Time2022-08-23Go1.19前言说明参考:https://gobyexample.com/multiple-return-values目标使用Go语言的函数,返回两个值。直接返回packagemainimport"......
  • 0086-Go-可变参数函数
    环境Time2022-08-23Go1.19前言说明参考:https://gobyexample.com/variadic-functions目标使用Go语言的可变参数函数。可变参数函数packagemainimport"fm......
  • 函数自调用与闭包(详解)
    一、函数数的定义有两种:一为函数的声明、二为函数表达式-匿名函数函数声明1functionfn(){//需要函数名2console.log("函数声明");3}4fn()函数表达式......
  • #yyds干货盘点#Vue3.2 新指令 v-memo解析
    v-memo官方定义缓存一个模板的子树。在元素和组件上都可以使用。为了实现缓存,该指令需要传入一个固定长度的依赖值数组进行比较。如果数组里的每个值都与最后一次的渲染相......