UNIAPP中借助store+watch完成实时数据
简介
- 手机端蓝牙连接校验仪,校验仪上传校验数据至手机完成展示。
- 基于watch,完成实时展示数据。
- 对象放在store中。
- 实现分为store中的配置,数据接收,数据展示
store配置
- 在state中配置属性,在mutations中配置更新方法,在getters中配置属性获取方法。
const store = createStore({state: {itemStatus: {}},mutations: {//更新数据updateItemStatus(state, newValue) {state.itemStatus= newValue;}},getters: {getItemStatus(state) {return state.itemStatus;}},actions: {}
})
数据接收
const mockDataUpdate = function(items) {const itemStatus= store.getters.getItemStatus; //Aitems.forEach(item => {if (indexStatus[item] === undefined) {indexStatus[item] = 2;} else if (indexStatus[item] === 2) {indexStatus[item] = [0, 1][Math.round(Math.random())];}});let newItemStatus = {};Object.assign(newItemStatus , itemStatus);store.commit("updateItemStatus", newItemStatus );//B
}/*** @param {Object} items 数据项* 模拟数据上报*/
const startCalibrate = function (items) {mockDataUpdate(items);let index = 0;let intervalIndex = setInterval(() => {index++;mockDataUpdate(items);if (index > 10) {clearInterval(intervalIndex);}}, 5000);
}
备注
- A: 这里注意,store中申明的是方法,这里按照对象调用。
- B: 这里发现,只要新对象就会触发watch,如果是旧对象反复赋值不会触发watch。
数据展示
- 使用watch实现数据的实时展示。
export default {...computed: {itemStatus() {return this.$store.state.itemStatus;}},watch:{itemStatus(newVal, oldVal) {console.log("watch itemStatusfunc");console.log(newVal);}},...
}
第二种
- 如果数据简单的话,并不需要使用store和watch。
- 模拟变更处代码如下:
const createPro1 = function() {return {key: Math.random()}
}const allData = {childData: {pro1: createPro(),pro2: createPro()}
}const startChange = function() {let index = 0;const intervalIndex = setInterval(() => {index++;if (index > 5) {clearInterval(intervalIndex);return; }const pro1 = createPro();Object.assign(allData.childData.pro1, pro1);//B}, 2000)
}export {allData,startChange,
}
- 数据展示处代码如下:
<uni-tr><uni-td align="center" style="width: 50%">仿真数据</uni-td><uni-td align="center">{{mock.key}}</uni-td>
</uni-tr>
import {allData, startChange} from "@/common/connectDevice.js";
export {onLoad() {startChange();},data() {return {mock: allData.childData.pro1,//A...}},...
}
- 备注
- 注意代码中A和B处层级是一致的。比如除上文所写外,还可以写成:
//B
allData.childData = {pro1: createPro(),pro2: createPro()
}//A
mock: allData
相关文章:
UNIAPP中借助store+watch完成实时数据
简介 手机端蓝牙连接校验仪,校验仪上传校验数据至手机完成展示。基于watch,完成实时展示数据。对象放在store中。实现分为store中的配置,数据接收,数据展示 store配置 在state中配置属性,在mutations中配置更新方法…...
COLMAP 三维重建 笔记
目录 安装COLMAP 需要设置环境变量 COLMAP数据下载 使用ColmapOpenMVS进行物体的三维重建 安装COLMAP 1.1 下载Colmap:https://demuc.de/colmap/#download 选择cuda版本的进行下载。 1.2 下载OpenMVS,可以选择下载源码自行编译也可以选择封装好的可…...
即时设计:一键查看设计稿与页面差异,让设计师的工作更便捷高效
设计稿走查 在设计工作中,对设计稿和实际页面进行对比是必不可少的环节。然而,传统的对比方式往往耗时耗力,无法精确测量差异。为了解决这个问题,我们推出了一款强大的工具,它可以通过图片对比,轻松查看设…...
知识库问答LangChain+LLM的二次开发:商用时的典型问题及其改进方案
前言 如之前的文章所述,我司下半年成立大模型项目团队之后,我虽兼管整个项目团队,但为让项目的推进效率更高,故分成了三大项目组 第一项目组由霍哥带头负责类似AIGC模特生成系统第二项目组由阿荀带头负责论文审稿GPT以及AI agen…...
Mac内心os:在下只是个工具,指望我干人事?
呜呜呜,今天去医院看病了,乌央央的好多人。最近在研究苹果开发者工具中的HealthKit,等我研究透给大家安利。今天还是继续闲聊吧😂😂提前感谢大家体谅我这个病号,发射小红心,biubiubiu~ 据说&am…...
2024年最新远程控制软件
远程控制软件是一种技术工具,允许用户通过互联网远程控制他人的计算机。该软件通常用于公司或个人远程管理其他计算机的功能。它们允许用户远程操作他人电脑上的程序、文件或网页,或查看目标计算机的屏幕图片和其他信息。因此,该软件也广泛应…...
华为鸿蒙应用--文件管理工具(鸿蒙工具)-ArkTs
0、代码 import fs from ohos.file.fs; import { Logger } from ./Logger; import { Constants } from ../constants/Constants; import { toast } from ./ToastUtils;export class FileUtils {/*** 获取目录下所有文件* param filesDir* returns*/static getFiles(filesDir: …...
Python基础语法笔记 tkinter的简单使用
语法 物质 动态类型语言,不需要声明类型 数字 类型int float bool 操作 //整除 **幂 字符串 str1 "Hello python" str2 "world" print(str1 * 3) # 重复输出 print(str1[1]) # 索引访问 print(str1 " " str2) # 拼接 print(str1[2…...
SSL/TLS 握手过程详解
SSL握手过程详解 1、SSL/TLS 历史发展2、SSL/TLS握手过程概览2.1、协商交换密码套件和参数2.2、验证一方或双方的身份2.3、创建/交换对称会话密钥 3、TLS 1.2 握手过程详解4、TLS 1.3 握手过程详解5、The TLS 1.2 handshake – Diffie-Hellman Edition 1、SSL/TLS 历史发展 可…...
B端产品经理学习-对用户进行需求挖掘
目录: 用户需求挖掘的方法 举例:汽车销售系统的用户访谈-前期准备 用户调研提纲 预约用户做访谈 用户访谈注意点 我们对于干系人做完调研之后需要对用户进行调研;在C端产品常见的用户调研方式外,对B端产品仍然适用的 用户需…...
高清网络视频监控平台的应用-城市大交通系统视联网
目 录 一、应用需求 二、系统架构设计 三、功能介绍 1.实时视频监控 2.云台控制 3.语音功能 4. 录像管理与回放 5.告警联动 6.多种显示终端呈现 (1)CS客户端 (2)web客户端 (3…...
java设计小分队01
1.开发流程: 编辑:生成.java文件编译:javac命令,生成.class文件运行:java命令 2.标识符下列那个(不)合法: 除了第一个词小写,其他词首字母大写;java标识符为…...
instant ngp win11 安装笔记
目录 训练保姆级教程: instant ngp安装参考: 编译步骤1 编译步骤2 我把编译成功的库分享到百度网盘了 训练保姆级教程: 英伟达NeRF项目Instant-ngp在Windows下的部署,以及数据集的制作(适合小白的保姆级教学)_colmap2nerf.p…...
Microsoft Word去除页面多余的换行符
大家写论文的时候或者排版的时候可能遇到换行符多出来了导致页面的不美观。像下面这张图一样,虽然latex不会出现这种问题。 处理方式 点击插入然后点击分页 结果展示...
[Javaweb/LayUI/上机考试作业/开源]学生/图书/课程/仓库等管理系统六合一基础功能通用模板
展示 考试要求 给定用户表和六张图书/教师/顾客/仓库....的表(随机给每人抽选),要求实现用户登录注册,异步更新,对物品增删改查,精确/模糊查询等。 环境 tomcat 9 mysql 8 java 17 项目结构 项目类图 写前…...
完善 Golang Gin 框架的静态中间件:Gin-Static
Gin 是 Golang 生态中目前最受用户欢迎和关注的 Web 框架,但是生态中的 Static 中间件使用起来却一直很不顺手。 所以,我顺手改了它,然后把这个改良版开源了。 写在前面 Gin-static 的改良版,我开源在了 soulteary/gin-static&a…...
html websocket的基本使用
html websocket的基本使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"w…...
大数据 MapReduce是什么?
在Hadoop问世之前,其实已经有了分布式计算,只是那个时候的分布式计算都是专用的系统,只能专门处理某一类计算,比如进行大规模数据的排序。 很显然,这样的系统无法复用到其他的大数据计算场景,每一种应用都…...
ubuntu 如何放开防火墙端口,ubuntu 防火墙操作命令,ubuntu 防火墙全面操作说明
本文介绍了Ubuntu操作系统有关防火墙操作的命令。为了便于说明,请使用 root 用户或具有超级管理员权限的用户登录到 Ubuntu 系统,这样操作命令前就不需要加 sudo了。 一、安装防火墙 如果没有安装防火墙,请用如下命令安装: apt …...
计算机视觉入门与调优
大家好啊,我是董董灿。 在 CSDN 上写文章写了有一段时间了,期间不少小伙伴私信我,咨询如何自学入门AI,或者咨询一些AI算法。 90%的问题我都回复了,但有时确实因为太忙,没顾得过来。 在这个过程中&#x…...
Ndk编译hevc静态库
源码下载: https://hg.videolan.org/x265 然后执行以下脚本: #!/bin/bash# 设置NDK路径,根据你的实际安装路径修改 NDK_PATH/mnt/c/Users/Administrator/ubuntu_dev/ndk/android-ndk-r21e# 设置目标平台和ABI版本,可以根据实际情况修改 aarch64-linux-…...
Linux系统安装MySQL
Linux系统安装MySQL 第一步:下载YUM wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm第二步:安装MySQL的YUM 仓库 rpm -ivh mysql57-community-release-el7-11.noarch.rpm第三步:查看MySQL版本 yum repolist …...
linux go环境安装 swag
下载依赖包 go get -u github.com/swaggo/swag编译 移动到下载的swag包目录,一般在$GOPATH/pkg/mod下 查看 GOPATH echo $GOPATHcd /root/GolangProjects/pkg/mod/github.com/swaggo/swagv1.16.2go install ./cmd/swag/不出意外,$GOPATH/bin下 已经有了swag 初…...
高效分割视频:批量剪辑,轻松提取m3u8视频技巧
在数字媒体时代,视频分割是一项常见的需求。无论是为了编辑、分享还是其他要求,经常要将长视频分割成多个短片。传统的视频分割方法往往需要手动操作,既耗时又容易出错。现在来看云炫AI智剪高效分割视频的方法,批量剪辑并轻松提取…...
自由DIY预约小程序源码系统:适用于任何行业+自由DIY你的界面布局+全新升级的UI+多用户系统 带安装部署教程
随着移动互联网的普及,预约服务逐渐成为人们日常生活的一部分。从家政服务、医疗挂号到汽车保养,预约已经渗透到各个行业。然而,市面上的预约小程序大多功能单一,界面老旧,无法满足商家和用户的个性化需求。今天来给大…...
el-select 多选,选有一个未选择的选项
多选有未选择这个选项后。会出现一个情况,绑定的数据为[‘未选择’,‘cpu1’,‘cpu2’] 进行一个处理,选择(未选择)就清除(其它的选择),选择(cpu)就清除(未选…...
CISSP 第6章: 密码学与对称加密算法
第六章 密码学与对称加密算法 6.1 密码学历史上的里程碑 6.1.1 凯撒密码 简单的将字母表中的每个字母替换成其后的三个字母,是单一字母的替代置换密码 6.1.2 美国内战 美国内战使用词汇替代和置换的复杂组合,从而试图破坏敌人的破译企图 6.1.3 Ultra与…...
《深入理解C++11:C++11新特性解析与应用》笔记八
第八章 融入实际应用 8.1 对齐支持 8.1.1 数据对齐 c可以通过sizeof查询数据的长度,但是没有对对齐方式有关的查询或者设定进行标准化。c11标准定义的alignof函数可以查看数据的对齐方式。 现在的计算机通常会支持许多向量指令,4组8字节的浮点数据&a…...
算法——BFS解决FloodFill算法
什么是FloodFill算法 中文:洪水灌溉。假设这一块4*4的方格是一块土地,有凸起的地方,也有凹陷的地方(凹陷的地方用负数表示)。此时下大雨发洪水,会把凹陷的地方填满。绿色圈起来的属于一块区域(…...
【Linux】常用的基本命令指令②
前言:前面我们学习了Linux的部分指令,今天我们将接着上次的部分继续将Linux剩余的基本指令. 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:Linux的学习 👈 💯代码仓库:卫卫周大胖的学习日记…...
wordpress 视频播放插件/产品故事软文案例
API: Mail/xsend 原文链接 概览 mail/xsend 是邮件 API 的升级版本。与 mail/send API 一样,mail/xsend 提供强大的邮件发送功能,区别于 mail/send API,mail/xsend 无需提交 html 源码或邮件文本内容,甚至无需提交邮件标题或发…...
html5毕业设计题目大全/独立站seo建站系统
ADO.NET提供了两个主要的类来读取数据。通过本文我们可以学习如何在两者之间进行选择。我经常听到有人问这个问题:“在ASP.NET Web应用程序中我应该用DataReader类还是DataSet类呢?”在很多文章以及新闻组的贴子中我经常看到这样的误解,即认为…...
宜城营销型网站套餐/seo优化行业
现在大部分人家里都会养些宠物,比如猫猫狗狗的,狗子很可爱,拆家很上头, 养狗有三怕:拆家、乱拉屎、整夜叫。虽然狗狗的一些行为习惯跟与遗传有关, 但是主人后天的影响也会给狗狗带来改变,因此…...
做电影网站犯罪吗/百度官网下载
摘 要:针对《计算机应用基础》传统课堂教学存在的弊端,文章提出《计算机应用基础》课程要转变教学环境,实施机房教学模式,从创设情境、提出问题、主动探究、交流反馈四个步骤开展机房教学改革,目的在于培养学员的自主探…...
中文网站建设中模板/游戏推广一个月能拿多少钱
现在的很多的游戏、文章、帖子等在打开时,要求输入验证码,可是有些时候验证码显示不出来,今天我就来告诉大家几种不能显示验证码的解决办法。 网页上的验证码一般采用两种图片格式:一、.xbm图片(不过因为Windows XP SP…...
凤岗本地网站/上海最新新闻
一、jenkins 介绍 Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码> 的编译、打包、部署)基于web界面的平台。 简单说,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比…...