【Uniapp-Vue3】使用ref定义响应式数据变量

如果想要响应式的数据变量,不能直接定义,如下面这个例子:

我们直接定义了变量num1,使用定时器使他每一秒+1,我们理想的状态是num1的值为多少,插值表达式中的值就为多少。

但是我们会发现num1的值一直在改变,而页面上的差值表达式一直是num1的初值,没有我们想要的响应式的效果。

使用ref定义响应式变量

import {ref} from 'vue';

let 变量名 = ref(值);

我们只需要用ref对数据稍加修饰,就可以得到响应式的变量。

这里需要注意一下ref变量的值,如果我们输出num2,就会得到如下的对象:

因此我们在Script中想要对变量进行修改,应该用 变量名.value 的形式,而在差值表达式中不需要加上 .value ,这点很容易忘记。

此外,我们还可以使用ref去定义其他数据类型的变量:

不需要纠结哪些数据类型用ref,哪些数据类型用reactive,所有变量都可以使用ref来进行定义。

相关推荐
Traced back5 分钟前
在vue3项目中利用自定义ref实现防抖
前端·javascript·vue.js
木易66丶37 分钟前
Vue中el-tree结合vuedraggable实现跨组件元素拖拽
前端·笔记
黑客KKKing1 小时前
网络安全-web应用程序发展历程(基础篇)
前端·安全·web安全
长风清留扬1 小时前
小程序开发-页面事件之上拉触底实战案例
前端·javascript·css·ios·微信小程序·小程序·html
时间sk1 小时前
CSS——25.伪元素1(“::first-letter ,::first-line ”)
前端·javascript·css
DarkFallYou1 小时前
E10鸿蒙App
java·开发语言·前端
会跑的兔子1 小时前
鸿蒙路由通信(路由跳转/参数传递)
前端·华为·harmonyos
晚风予星1 小时前
Vue-Cli/Rsbuild动态代理IP地址无需重新启动/依靠热更新
前端·vue.js
low神1 小时前
在macOS上安装Flutter和环境配置
前端·flutter·react native·macos·前端框架
高 朗1 小时前
【Vue】MacOS从0开始创建一个前端Vue项目并集成AntDesignVue
前端·vue.js·macos·anti-design-vue