【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来进行定义。

相关推荐
GISer_Jing17 分钟前
React useState 的同步/异步行为及设计原理解析
前端·javascript·react.js
mini榴莲炸弹20 分钟前
什么是SparkONYarn模式?
前端·javascript·ajax
能来帮帮蒟蒻吗20 分钟前
VUE3 -综合实践(Mock+Axios+ElementPlus)
前端·javascript·vue.js·笔记·学习·ajax·typescript
酷爱码24 分钟前
HTML5中的Microdata与历史记录管理详解
前端·html
开开心心就好39 分钟前
高效全能PDF工具,支持OCR识别
java·前端·python·pdf·ocr·maven·jetty
lqj_本人1 小时前
鸿蒙OS&UniApp 制作个人信息编辑界面与头像上传功能#三方框架 #Uniapp
uni-app·harmonyos
lqj_本人1 小时前
鸿蒙OS&UniApp 实现的二维码扫描与生成组件#三方框架 #Uniapp
uni-app
Java&Develop2 小时前
Vue ElementUI原生upload修改字体大小和区域宽度
vue.js
郭尘帅6663 小时前
vue3基础学习(上) [简单标签] (vscode)
前端·vue.js·学习
njsgcs3 小时前
opencascade.js stp vite webpack 调试笔记
开发语言·前端·javascript