向着光带着光 2021-12-20 10:28 采纳率: 0%
浏览 79

解决不想老是给函数起名字 通过switch

就是通过Vue开发时遇到的一个问题。
因为我不怎么喜欢起名字,我就把所有的处理函数都指向了同一个函数,然后都会传递一个case参数指做不同的事。
代码示例:

<div @click="_click( { case:1 , name:'XXX' } )"> 打印name </div>
<div @click="_click( { case:2 } )"> 打印被点击 </div>

methods:{
  _click( obj ){
      switch( obj.case ){
          case 1:
            console.log( obj.name );
            break;
          case 2:
            console.log( "被点击" );
            break;
      }
  }
}

大概就是这样,就是想问一下会不会有什么性能问题或者啥问题的?

普通的

img

Switch格式的

img

  • 写回答

5条回答 默认 最新

  • Oliver尹 前端领域优质创作者 2021-12-20 10:58
    关注

    最大的问题是你的_click函数如果业务复杂的话会非常庞大,到后来会演变成:
    1)出现BUG不好调试,难以快速定位问题;
    2)接手的人几乎维护不了这个代码,会非常复杂;
    3)可服用性相对还是稍差了点,另外一个业务中用到了几乎相同的代码,只有少部分不一样,那是准备拷贝一份过去么....

    等等问题,应该还有很多,个人建议还是不要这么写....

    评论

报告相同问题?

问题事件

  • 修改了问题 12月20日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 oracle数据库查询语句问题
  • ¥15 有没有c++绘制算法的佬们吗救孩一下
  • ¥15 android 蓝牙闪退
  • ¥15 绝缘子污秽comsol仿真参数
  • ¥15 Fatal error in Process MEMORY
  • ¥15 labelme生成的json有乱码?
  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码