当前位置: 首页 > news >正文

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

把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.lryc.cn/news/116491.html

相关文章:

  • MySQL及SQL语句(3)
  • MySQL 查询语句大全
  • 【Axure高保真原型】账单列表和详情
  • 嵌入式面试题1
  • base64转二进制流,file文件
  • 各种查找算法的效率分析
  • 微报告下载!市场不确定性周期下的激光雷达前装赛道
  • Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis tbms
  • 并网逆变器学习笔记6---三电平SVPWM下的连续和不连续调制
  • TS协议之PES(ES数据包)
  • 银河麒麟V10 SP3 X86 二进制文件部署 mysql-5.7.29 GTID 半同步复制的双主架构
  • python爬虫3:requests库-案例1
  • 计算机网络 数据链路层 媒体接入控制
  • 面部表情识别(Pytorch):人脸检测模型+面部表情识别分类模型
  • 外卖点餐小程序开源源码——支持扫码点餐
  • 十分钟掌握使用 SolidJS 构建全栈 CRUD 应用程序
  • LabVIEW开发多材料摩擦电测量控制系统
  • 【Linux】网络基础1
  • HTML - Javascript - 原生的JS HTTP请求:实用主义的一篇文章
  • Intellij IDEA运行报Command line is too long的解决办法
  • 信号槽传输过程中指针所指对象的生命周期
  • c++ 递归锁的使用
  • Oracle TDE wallet
  • 多模态学习
  • Android学习之路(2) 文本设置
  • 手写springboot
  • 报错Uncaught (in promise) Error: Manifest request to...
  • 微信私域更好玩了
  • 基于ant-design的a-modal自定义vue拖拽指令
  • 【ES】笔记-模板字符串(template string)是增强版的字符串`${expresions}`