gitee代码扫描js代码,降低复杂度,减少if-else判断的处理方法

news/2024/5/17 15:35:13 标签: javascript, gitee, 前端

把if-else换成如下形式

页面上的代码

<el-button id="btnSave" type="primary" :loading="loadingEdit" @click="saveEdit('put','baseSet')">

          {{ $t("formLabel.save") }}

        </el-button>

methods代码:

 // 编辑设备保存按钮 处理代码复杂度,判断太多问题

    saveEdit(type, api) {

      this.loadingEdit = true

      const types = {

        'baseSet': this._baseSetSave, // 基本设置保存函数

        'policy': this._policySave, // 批量策略配置保存函数

        '': this._syncSave // 配置同步保存函数

      }

      const handleSave = types[api]

      handleSave(type)

    },

函数分别处理

  _baseSetSave(type) {

      const { setting, security, serial, usb, id, user, register_ip } = this.form

      // 基本设置保存

      const params = {

        ids: [id],

        user: user === '' ? 0 : user, // 所属用户

        setting: setting === '' ? 0 : setting, // 以下新字段 基础设置模板

        security: security === '' ? 0 : security, // 安全策略模板

        serial: serial === '' ? 0 : serial, // 串口策略模板

        usb: usb === '' ? 0 : usb, // usb策略模板

        register_ip: register_ip//  注册IP地址

      }

      this.saveScuFun(type, params)

    },

    _policySave(type) {

      // 批量策略配置保存函数

      const { setting, security, serial, usb } = this.form

      const params = {

        ids: this.ids,

        setting: setting === '' ? 0 : setting, // 以下新字段 基础设置模板

        security: security === '' ? 0 : security, // 安全策略模板

        serial: serial === '' ? 0 : serial, // 串口策略模板

        usb: usb === '' ? 0 : usb // usb策略模板

      }

      this.saveScuFun(type, params)

    },

    _syncSave(type) {

      // 配置同步保存函数

      const { setting, security, serial, usb, id } = this.form

      const params = {

        ids: [id],

        setting: setting === '' ? 0 : setting, // 以下新字段 基础设置模板

        security: security === '' ? 0 : security, // 安全策略模板

        serial: serial === '' ? 0 : serial, // 串口策略模板

        usb: usb === '' ? 0 : usb // usb策略模板

      }

      this.saveScuFun(type, params)

    },

实现函数的不同处理,降低复杂度


http://www.niftyadmin.cn/n/4925525.html

相关文章

【分布式系统】聊聊流量和数据调度

对于分布式系统来说&#xff0c;除了监控层面、以及服务治理层面&#xff0c;还有两个层面流量和数据调度。流量调度其实比较好理解&#xff0c;就是用户请求的流量&#xff0c;如何按照一定的策略算法打到不同的机器上。以及如何实现一个高可用、高性能的流量调度平台。而数据…

LabVIEW使用图像处理检测显微图像中的白血病

LabVIEW使用图像处理检测显微图像中的白血病 人体最重要的部分是血液&#xff0c;因为它使人活着。它执行许多重要功能&#xff0c;例如转移氧气&#xff0c;二氧化碳&#xff0c;矿物质等。血液量不足会极大地影响新陈代谢&#xff0c;如果不及早治疗&#xff0c;这可能是非常…

【Shell】基础语法(三)

文章目录 一、Shell基础语法1. 位置参数和特殊变量2. 输入输出3. 管道4. 文件重定向5. 函数6. 脚本调试方法 二、Shell高级和正则表达式1. sort命令2. uniq命令3. wc命令4. grep命令5. find命令6. xargs7. sed命令8. crontab 一、Shell基础语法 1. 位置参数和特殊变量 $0 …

算法练习--链表相关

文章目录 合并两个有序链表删除排序链表中的重复元素 1删除排序链表中的重复元素 2环形链表1环形链表2相交链表反转链表 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&…

在springboot使用websocket时mapper无法注入

直接上代码 package cn.ujoined.combined.utils;import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Componen…

Linux C 语言 mosquitto 方式 MQTT 发布消息

1 说明 采用 mosquitto 库&#xff0c;实现对主题发布消息。 其中服务器有做限制&#xff0c;需要对应的 cilent id &#xff0c;cafile 、certfile 、keyfile 等配置 2 开发环境 采用ubuntu 直接编译调试 安装mosquitto 库 sudo apt install libmosquitto-dev sudo apt-ge…

期权定价模型系列【1】—BSM通用式模型

这是期权定价模型专栏的第一篇文章&#xff0c;此专栏旨在分享一些期权定价模型&#xff0c;将会从最基础的BSM模型开始写起&#xff0c;逐步扩散到蒙特卡洛模拟、二叉树等数值法模型&#xff0c;以及跳跃扩散模型、随机波动率模型&#xff0c;神经网络模型等等。 如果你觉得有…

js:Markdown编辑器Vue3版本md-editor-v3

文档 https://github.com/imzbf/md-editor-v3https://imzbf.github.io/md-editor-v3/zh-CN/index 安装 npm install md-editor-v3使用 <template><MdEditor v-model"text" /> </template><script setup> import { ref } from vue; impor…