前端代码优化--computed

随便记录一下

主要是通过计算属性来简化和优化代码。在 Vue 中,计算属性是一种方便的工具,可以让你根据依赖状态的变化来动态计算衍生值。在这个例子中,我们使用计算属性 formattedCommunicationType 来根据 workDetail.realTimeItemDeviceDTO.communicationType 的值动态计算通信类型的显示文本,从而避免了重复的逻辑和代码。

通过使用计算属性,我们能够更清晰地表达代码的意图,并且在需要时自动更新计算结果。这样可以提高代码的可读性和可维护性,同时减少重复代码的使用。

旧代码

   <div class="mode-top"><spanv-if="workDetail.realTimeItemDeviceDTO.communicationType &&workDetail.realTimeItemDeviceDTO.communicationType == '4G'">{{workDetail.realTimeItemDeviceDTO.communicationType? workDetail.realTimeItemDeviceDTO.communicationType: '--'}}</span><spanstyle="font-size: 10px"v-else-if="workDetail.realTimeItemDeviceDTO.communicationType &&workDetail.realTimeItemDeviceDTO.communicationType == 'WIFi'">{{workDetail.realTimeItemDeviceDTO.communicationType? workDetail.realTimeItemDeviceDTO.communicationType: '--'}}</span><spanv-else-if="workDetail.realTimeItemDeviceDTO.communicationType &&workDetail.realTimeItemDeviceDTO.communicationType == 'Lan'">{{workDetail.realTimeItemDeviceDTO.communicationType? workDetail.realTimeItemDeviceDTO.communicationType: '--'}}</span><spanv-else-if="workDetail.realTimeItemDeviceDTO.communicationType &&workDetail.realTimeItemDeviceDTO.communicationType == 'Nb_lot'">{{workDetail.realTimeItemDeviceDTO.communicationType? workDetail.realTimeItemDeviceDTO.communicationType.slice(0, 2): '--'}}</span><span v-else> -- </span> </div>

这样写是因为刚开始它嵌套没有这么多,直接.xxx就可以拿到,现在是.realTimeItemDeviceDTO.xxx才能拿到,并且刚开始不知道它会有多种通讯模式,加上ui设计,它设计是这样的,如果字数太多还要截取的情况,就太繁琐,要改,

新代码,这样就好了


const communicationTypes: Record<string, string> = {'4G': '4G',WiFi: 'WIFI',Lan: 'Lan',Nb_lot: 'Nb',
};const formattedCommunicationType = computed(() => {const type = workDetail.value.realTimeItemDeviceDTO?.communicationType;return type ? communicationTypes[type] || '--' : '--';
});
<div class="mode-top"><span style="font-size: 10px">{{ formattedCommunicationType }}</span>
</div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/807740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js常用命令大全

命令用法nodenode [文件名]&#xff1a;运行指定的 Node.js 脚本文件&#xff1b; node --version&#xff1a;显示当前安装的 Node.js 版本号&#xff1b; node -h 或 node --help&#xff1a;显示 Node.js 的帮助信息。npmnpm install [模块名]&#xff1a;安装指定的 Node.j…

Scala之函数Day-2

Scala 函数(Function) 概述 将一段逻辑进行封装便于进行重复使用&#xff0c;被封装的这段逻辑就是函数。在Scala中&#xff0c;必须通过def来定义函数 基本语法 def 函数名(参数列表) : 返回值类型 {函数体return 返回值 }案例 // 案例&#xff1a;定义函数计算两个整数的…

openlayer实现webgis端绘制制图及编辑

在WebGIS端制图是指通过Web浏览器界面实现地理信息数据的可视化、编辑、分析以及地图产品的制作。这一过程通常涉及以下几个关键环节&#xff1a; **1. 前端技术栈&#xff1a; •HTML/CSS/JavaScript&#xff1a;作为Web开发的基础&#xff0c;用于构建用户界面布局、样式设…

Win11又来「重大」更新!

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站ai人工智能工具 更多资源欢迎关注 Windows 11预览通道的22635.3420版本迎来了几个比较大的改进&#xff0c;主要有三个方面&#xff1a; …

一种快速移植 OpenHarmony Linux 内核的方法

移植概述 本文面向希望将 OpenHarmony 移植到三方芯片平台硬件的开发者&#xff0c;介绍一种借助三方芯片平台自带 Linux 内核的现有能力&#xff0c;快速移植 OpenHarmony 到三方芯片平台的方法。 移植到三方芯片平台的整体思路 内核态层和用户态层 为了更好的解释整个内核…

python-study-day1-(病人管理系统-带sql)

MainWindow代码 from tkinter import * from tkinter import messagebox from tkinter.ttk import Comboboxclass MianWindow(Frame):def __init__(self, masterNone):super().__init__(master, padx30, pady20)self.flag 0self.pack(expandTrue, fillBOTH)self.id StringVa…

深入OceanBase内部机制:系统架构与组件精讲

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 目录 1️⃣OceanBase 整体架构1.1 分区1.2 分片1.3 日志流1.4 对等节点1.5 多租户 2️⃣OceanBase 架构与组件详解2.1 存储层2.2 …

Disk Drill Enterprise for Mac v5.5.1515数据恢复软件中文版

Disk Drill 是 Mac 操作系统固有的Mac数据恢复软件&#xff1a;使用 Recovery Vault 轻松保护文件免遭意外删除&#xff0c;并从 Mac 磁盘恢复丢失的数据。支持大多数存储设备&#xff0c;文件类型和文件系统。 软件下载&#xff1a;Disk Drill Enterprise for Mac v5.5.1515激…

keepalived2.2.8+drbd9+nfs高可用存储部署

目录 一.本文基于上一篇文章keepalived环境来做的&#xff0c;主机信息如下 二.为两台虚拟机准备添加一块新硬盘设备 三.安装drbd9 1.使用扩展源的rpm包来下载 2.创建资源并挂载到新增的硬盘 3.主设备升级身份 4.主备两个设备手动切换身份演示 四.安装配置nfs 五.安装…

【YOLOv8】Yolov5和Yolov8网络结构的分析与对比

目录 一 YOLOv5 二 YOLOv8 yolo通常采用backbone-neck-head的网络结构。 Backbone 主要负责从输入图像中提取高层次的语义特征,常包含多个卷积层和池化层&#xff0c;构建了一个深层次的特征提取器。Neck通常用来进一步整合与调整backbone提取的特征&#xff0c;有利于将不同…

大话设计模式——24.迭代器模式(Iterator Pattern)

简介 提供一种方法顺序访问一个聚合对象中各个元素&#xff0c;而又不暴露该对象的内部实现。&#xff08;Java中使用最多的设计模式之一&#xff09; UML图 应用场景 Java的集合对象&#xff1a;Collection、List、Map、Set等都有迭代器Java ArrayList的迭代器源码 示例 简…

uniapp的h5项目 用命令起这个项目(vue-cli)

这里其实就相当于给uniapp h5套了一个vue-cli的壳&#xff08;纯属个人感觉&#xff09; 首先需要安装vue-cli 脚手架 npm install -g vue/cli然后创建项目&#xff08;这里需要在hbuilder创建&#xff09; vue create -p dcloudio/uni-preset-vue uniapp安装成功后它的结构…

python 用requests.get 把远程文件下载到本地

def download_file(url, save_path):response requests.get(url, streamTrue)if response.status_code 200:with open(save_path, wb) as f:for chunk in response.iter_content(chunk_size8192):if chunk:f.write(chunk)print(f"文件已成功下载到 {save_path}")el…

OSCP靶场--Dibble

OSCP靶场–Dibble 考点(前端鉴权参数修改node.js代码注入 suid cp提权 ) 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.173.110 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-09 06:36 EDT Nmap scan repor…

Jackson配置处理LocalDateTime、LocalDate等java8时间类型失效的问题解决

目录 前言 一、问题排查过程 1.1 SpringMvc是如何处理请求报文和响应报文 1.2 JacksonConfig配置排查 二、导致Jackson配置失效的原因 2.1 没有addSerializer 2.2 添加了EnableMvc注解 2.3 另外有地方配置了Jacksonhttpconver覆盖了配置 总结 前言 上一篇文章《使用Ja…

java es相关操作

一.es 后期修改分片数量 在Elasticsearch中一旦索引创建后&#xff0c;分片的数量就不能直接更改。如果需要更改分片的数量&#xff0c;你需要按照以下步骤操作&#xff1a; 创建一个新的索引&#xff0c;并指定所需的分片数量。 将旧索引的数据复制到新索引中。 关闭旧索引…

K8-Prometheus部署与应用

Prometheus //Prometheus 概述&#xff1a; Prometheus 是一个开源的服务监控系统和时序数据库&#xff0c;其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件 Prometheus server 会定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉取数据…

C/C++的内存管理

栈帧最主要的作用就是存储局部数据 C语言中动态内存管理方式 C语言动态内存管理 该篇详细的讲述了C语言动态内存管理的使用&#xff0c;不太懂的小伙伴可以去了解一下 C中动态内存管理方式 首先&#xff0c;C语言内存管理的方式在C中可以继续使用。但有些地方就无能为力而且使用…

Volatility-内存取证案例1-writeup--xx大赛

题目提示&#xff1a;flag{中文} 按部就班 &#xff08;1&#xff09;获取内存镜像版本信息 volatility -f 文件名 imageinfo 通过上述可知&#xff0c;镜像版本为Win7SP1X64。 &#xff08;2&#xff09;获取进程信息&#xff1a; volatility -f 镜像名 --profile第一步获取…

第2章:计算机系统基础知识-文字摘抄(上篇)

计算机系统的分类示意图 计算机系统 嵌入式计算机 电信设备 基站网络交换移动终端 家用电子设备 视听设备厨卫电器 可穿戴电子设备医疗设备交通设备国防设备金融设备 通用计算机 个人计算机 台式电脑平板电脑 网络服务器 云存储云计算 超级计算机 计算机硬件组成 处理器存…