这段代码可以进行以下优化:

  1. 将重复使用的 router.currentRoute.value.query 提取为变量,以减少重复访问的次数,提高代码可读性和性能。
const query = router.currentRoute.value.query;
  1. 使用对象解构赋值,简化代码。
const { name, id, quid } = query;
  1. 使用更语义化的变量名,提高代码可读性。
const { gaoJingLeiBei, xingZhengQuHuaID, jianCeDianLeiXing } = state.queryForm;
  1. 使用 switch 语句,代替多个 if 语句,提高代码可读性。
switch (name) {
  case 'dengji':
    if (id) {
      gaoJingLeiBei = [id];
    }
    break;
  case 'home':
    gaoJingLeiBei = ['一级', '二级', '三级', '离线'];
    if (id) {
      xingZhengQuHuaID = [id];
    } else {
      delete xingZhengQuHuaID;
    }
    name = '';
    break;
  case 'leixing':
    gaoJingLeiBei = ['一级', '二级', '三级', '离线'];
    if (id) {
      jianCeDianLeiXing.push(Number(id));
      name = '';
    }
    if (quid) {
      xingZhengQuHuaID.push(quid);
      name = '';
    }
    break;
}

最终优化后的代码如下:

const Parametersettings = () => {
  const query = router.currentRoute.value.query;
  const { name, id, quid } = query;
  const { gaoJingLeiBei, xingZhengQuHuaID, jianCeDianLeiXing } = state.queryForm;

  switch (name) {
    case 'dengji':
      if (id) {
        gaoJingLeiBei = [id];
      }
      break;
    case 'home':
      gaoJingLeiBei = ['一级', '二级', '三级', '离线'];
      if (id) {
        xingZhengQuHuaID = [id];
      } else {
        delete xingZhengQuHuaID;
      }
      name = '';
      break;
    case 'leixing':
      gaoJingLeiBei = ['一级', '二级', '三级', '离线'];
      if (id) {
        jianCeDianLeiXing.push(Number(id));
        name = '';
      }
      if (quid) {
        xingZhengQuHuaID.push(quid);
        name = '';
      }
      break;
  }
};

请注意,以上代码只是根据给出的信息进行的优化,可能还有其他需要考虑的因素

const Parametersettings = = if routercurrentRoutevaluequeryname == dengji && routercurrentRoutevaluequeryid statequeryFormgaoJingLeiBei = routercurrentRou

原文地址: https://www.cveoy.top/t/topic/ipUd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录