module1.js
let state = {
spacelist: [],
loadingStatus: null,
}
const actions = {
getSpaceList (params) {
let callback = params.callback;
delete params['callback'];
axios.get('/tasklist').then(function(response) {
state.spacelist = response.data.data;
//state.spacelist有值
console.log(state.spacelist);
callback && callback(response.data);
}).catch(function(error) {
callback && callback({errno: 1,errmsg: '请求异常'});
});
}
}
module.exports = {
state,
actions
}
module2.vue
let tool = require('./module1.js');
computed: {
spacelist(){
return tool.state.spacelist; //tool.state.spaclist为空
}
}
原因:state.spacelist = response.data.data; 在执行数组赋值的过程中,computed监听断掉了
解决方案:1,将数组的赋值改为push
2.在module2.vue中用data监听
data(){
return {
state: tool.state
}
},
computed: {
spacelist(){
return this.state.spacelist;
}
}