vue.js import/require数组后computed监听失败

来源:互联网 发布:软件测试人员基本素质 编辑:程序博客网 时间:2024/05/18 02:51

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;    
            }
        }

                  




原创粉丝点击