有时候调用接口的时候 会有同一个操作,所以就在研究了一个公共方法
在vue main.js中
import Vue from 'vue';
import App from './App.vue';
import axios from 'axios';
//changeData是函数名
Vue.prototype.changeData = function (URL,params,callback){//URL是接口地址,params需要传递的参数,callback回调的函数
console.log(URL,params,callback)
axios.post(URL,params).then(res=>{
if(res.data.code =='0'){
callback(res)
}else if(res.data.code == '-1'){
this.$router.push('/')
//codr == -1 回到首页
}
})
}
页面调用的的时候
created () {
var that = this
let url = "/index/index/login"
let obj = {'userName':'zhang2','password':'666666','shopId':'1003'}
let fun = function(res){
console.log(res)
}
this.changeData(url,obj,fun)
}
这样就可以实现了
封装js的方法
exports.install = function (Vue, options) {
Vue.prototype.text1 = function (URL,params,callback){//全局函数1
alert('执行成功1');
};
};
在man.js中引入这个js文件
import base from './base'//引用
Vue.use(base);//将全局函数当做插件来进行注册
然后直接 this.text1() 调用就可以了
网友评论