之前的写法 一个页面中需要控制的loading太多了 这样写比较麻烦
let params = this.From;
this.loading.table = true;
dsExtUser(params).then(result => {
this.tableData = result.datas;
this.loading.table = false;
})
改良后的写法
1:main.js添加
Vue.prototype.$http = (request, callback) => {
callback(true);
return new Promise((resolve, reject) => {
Promise.resolve(request)
.then(resolve)
.catch(reject)
.finally(() => {
callback(false);
});
});
};
2:使用
data () {
return {
loading: { //定义初始值
table: false,
},
tableData: [],
}
},
List () {
let params = this.From;
this.$http(dsExtUser(params), state => (this.loading.table = state)).then(result => {
this.tableData = result.datas;
})