我正在用VueJS和Vuex构建我的应用程序,当我有多个模块使用相同的数据字段时,我会面临这个问题.它是关于像dat这样的API配置的.
getUsers ({ state, commit }) {
axios.get(urls.API_USER_URL).then( response => {
let data = response.data;
parseApi(state, data, 'user');
}).catch( err => {
console.log('getUser error: ', err);
})
},
在另一个功能模块中
getPosts ({ state, commit }) {
axios.get(urls.API_POST_URL).then( response => {
let data = response.data;
parseApi(state, data, 'posts');
}).catch( err => {
console.log('getUser error: ', err);
})
},
我想知道我是否可以继承我的模块并在其中添加额外的数据字段/函数?
我的每个模块都会有消息和状态字段,这些字段是我根据API得到的响应.
export default {
state : {
message : "",
status : 0
},
parseApi: function(state, data, property) {
if (data.hasOwnProperty('message')) {
state.message = data.message;
}
if (data.hasOwnProperty('status')) {
state.status = data.status;
}
if (data.hasOwnProperty(property)) {
state[property] = data[property];
}
}
}
应该是这样的.
有没有一种方法可以把这段代码写一次,然后放到我使用的每个模块中?
编辑:
我甚至不能在那里得到这个apiParse函数,我需要为那些字段发牢骚.但是一直重复它是没有意义的...有什么建议吗?