vue 这样的函数,怎么提取为公共函数?

在一个组件里有这样一个方法:

name: 'user',
data() {  const checkExist = (rule, value, callback) => {    if (value) {      this.$http.get(....).then(res => {        if (res.id === this.itemId) {
          ...
        }
      });
    }
    callback();
  };  return {    itemId: '',    rules: {      name: [{ validator: checkExist, message: ‘名称已存在’ }];
    },
  };
},

其中这个checkExist如何提取为公共函数,可以在别的组件中直接应用。特别有一点不清楚就是函数里使用了axios的封装this.$http,提取为公共函数后该如何处理比较科学?还有如何处理this.itemId的引用?


噜噜哒
浏览 1303回答 1
1回答

饮歌长啸

推荐我的这种写法:// utils.jsexport const checkExist = http => (rule, value, cb) => {    if (value) {         http() //      }     cb() }// 调用import { setUpcheckExit } from 'utils'const checkExist = setUpcheckExit(this.$http) ... data() {    return {        rules: {            name: [{ validator: checkExist, message: ‘名称已存在’ }];         }     } }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java