关于网友提出的“vuex跟vue router和vue resource结合,怎么实现data钩子函数异步 resolve?”问题疑问,本网通过在网上对“vuex跟vue router和vue resource结合,怎么实现data钩子函数异步 resolve?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:vuex跟vue router和vue resource结合,怎么实现data钩子函数异步 resolve?
描述:
我有一个vue
项目是vuex
跟vue router
和vue resource
结合的,然后我有一个列表是从服务器异步获取数据再显示的,我在vue
组件的route
的data
钩子函数中要调用一个vuex
的action
获取数据,action
是用vue resource
写的
代码如下:
home.vue
loading...
list...
vuex: {
getters: {
list: listGetters
},
actions: {
getList
}
},
route: {
data () {
this.getList();
}
},
actions.js
export const getList= ({dispatch}) => {
api.getList().then(response => {
if (!response.ok) {
return dispatch('GET_LIST_FAILURE');
} else {
dispatch('GET_LIST_SUCCESS', { list: response.list });
}
}, response => {
dispatch('GET_LIST_FAILURE');
})
}
我看vue router
的文档说要在data
钩子函数里面返回一个promise
,但我的getList是包含一个vue resource的promise的,但是我在data钩子函数里如上面代码直接调用的话是同步resolve的,怎么实现在数据获取之后变为resolve?
解决方案1:
看上去,你的data
并没有按照官网的说明写哦:

你的data
里没有return
你的getList
也没有返回promise
至于其它什么“但是我在data钩子函数里如上面代码直接调用的话是同步resolve的”,没看懂什么意思
以上介绍了“vuex跟vue router和vue resource结合,怎么实现data钩子函数异步 resolve?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1422784.html