【发布时间】:2019-07-29 20:29:30
【问题描述】:
我想在渲染组件之前在 vuejs 中获取数据。所以这是我没有使用 beforeRouteEnter 获取数据的问题。
这是created 的工作示例:
created() {
this.$store.dispatch('getInvite');
this.$store.dispatch('getInviteUser');
},
computed: mapState([
'user',
'invite',
'invite_user'
]),
有了这个 beforeRouteEnter 我得到localhost:8080/invitation/undefined
beforeRouteEnter(to, from, next) {
store.dispatch('getInvite');
next();
},
这是actions.js中的函数
const getInvite = ({
commit
}) => {
API.get('/invitation/' + router.currentRoute.params.slug + '/' + router.currentRoute.params.id)
.then((response) => {
if (response.status === 200 && response.data.invite && response.data.user) {
return commit('SET_INVITE', response.data.invite);
} else {
return router.push({
name: 'home'
});
}
}).catch((error) => {
return console.log(error);
});
};
【问题讨论】:
标签: vue.js vue-router