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

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

        )

      }

    },


慕莱坞森
浏览 1803回答 3
3回答

HUH函数

建议新建 util.js存放自定义公共方法, 需要的时候import调用或者将方法定义在一个对象内const utils = {    setSendMsgKey(action, val, keyName) {}}Vue.prototype.utils = utils调用this.utils.setSendMsgKey(action, val, keyName)

MMTTMM

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

慕运维8079593

把回调也作为参数传入Vue.prototype.$setSendMsgKey= function(action, val, keyName,setSendMsgKeyCB){    ...}以后用的时候用this.$setSendMsgKey(.. , resp => {    ...})是这个意思吗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript