【发布时间】:2017-03-07 16:57:15
【问题描述】:
我正在构建一个带有身份验证的 Vuejs 应用程序。
当页面加载并初始化app Vuejs 实例时,我正在使用beforeCreate 挂钩来设置用户对象。我从localStorage 加载一个 JWT 并将其发送到后端进行验证。
问题在于这是一个异步调用,在调用返回验证结果之前,这个app 对象的组件(导航栏、视图等)正在使用空用户数据进行初始化。
在 promise 对象解决之前延迟子组件的初始化的最佳做法是什么?
这是我的 Vue 应用程序对象中的内容:
beforeCreate: function(){
// If token or name is not set, unset user client
var userToken = localStorage.userToken;
var userName = localStorage.userName;
if (userToken == undefined || userName == undefined) {
StoreInstance.commit('unsetUserClient');
// I WANT TO RESOLVE HERE
return;
}
// If token and name is set, verify token
// This one makes an HTTP request
StoreInstance.dispatch({type: 'verifyToken', token: userToken}).then((response) => {
// I WANT TO RESOLVE HERE
}, (fail) => {
// I WANT TO RESOLVE HERE
})
}
【问题讨论】:
标签: vue-resource vue.js vuejs2