为了账号安全,请及时绑定邮箱和手机立即绑定

vue项目,项目中有一些代码逻辑是相同的,写法也相同,我怎么把他封装成一个公用的方法,完成不同的功能

vue项目,项目中有一些代码逻辑是相同的,写法也相同,我怎么把他封装成一个公用的方法,完成不同的功能

慕莱坞森 2019-03-12 17:19:21
1、vue项目,其中在用户中心设置中调用本地接口这一块有很多相同之处,2、例如:在配置发送消息快捷键上,我们的接口有添加本地配置和更新本地配置,当我要设置发送消息快捷键时,我需要判断一下如果本地有这个配置那么使用更新本地配置接口,在成功回调中也要做不同的操作。还有配置好友上线声音提醒等许多也是这样的操作,目前我是各自写个各自的,但是我觉得这样写有点重复搬砖的意思,我该怎优化我的代码。3、setSendMsgKey(action, val, keyName){      console.log(action, 'action'); // action要调的接口名      let tempVal = val;      if(val == '0') tempVal = 'CTRL_ENTER';      if(val == '1') tempVal = 'ENTER';      let setSendMsgKeyCB = resp => {        console.log(resp, '配置用户发送消息快捷键');        if(resp.code == 0){          this.$store.commit('SET_USER_LOCALCONFIG', { key: 'send_msg_key', value: tempVal });          if(action == 'addLocalSetting') this.$store.commit('SET_USER_LOCALCONFIG', { key: keyName, value: true });        }      }      if(action == 'addLocalSetting'){        this.$Service.user.addLocalSetting(          [{ key: 'send_msg_key', value: tempVal }],          setSendMsgKeyCB        )      } else {        this.$Service.user.updateLocalSetting(          [{ key: 'send_msg_key', value: tempVal }],          setSendMsgKeyCB        )      }    },
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

建议新建 util.js存放自定义公共方法, 需要的时候import调用


或者将方法定义在一个对象内


const utils = {

    setSendMsgKey(action, val, keyName) {}

}

Vue.prototype.utils = utils

调用


this.utils.setSendMsgKey(action, val, keyName)


查看完整回答
反对 回复 2019-04-01
?
MMTTMM

TA贡献1869条经验 获得超4个赞

1.封装成公共的方法,放到utils里,像楼上说的那样
2.扩展vue原型对象
3.mixins

查看完整回答
反对 回复 2019-04-01
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

把回调也作为参数传入


Vue.prototype.$setSendMsgKey= function(action, val, keyName,setSendMsgKeyCB){

    ...

}

以后用的时候用


this.$setSendMsgKey(.. , resp => {

    ...

})


是这个意思吗


查看完整回答
反对 回复 2019-04-01
  • 3 回答
  • 0 关注
  • 1802 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号