現在ログインしているユーザーをロードする場所にApp.vue
コンポーネントがあります。私はまた、ユーザーがログインルートへのアクセスを試みるときにユーザーをリダイレクトしたいし、現在ログインしているユーザーがすでにコンテキストに保存されている(彼はすでにサインインしている)。vuejsコンポーネントが最初にデータを読み込むのを待ちます
// inside App.vue component
created() {
AuthService.getCurrentUser().then((user) => {
this.user = user;
});
}
私はあるCurrentUserがsettedであるかどうかのログイン・コンポーネントのcreated
方法でチェックを持っていますが、ユーザーがログインページに移動しようとしたとき、それは、現在のユーザーの要求ということができるかもしれません終了していません。
私の質問は:
データがApp.vueコンポーネントのロード前にロードするために、私は待ってはどうすればよいですか? 私はこのような何かを見た:実際にとにかくロードするデータとコンポーネントのロードを待ちません
waitForData: true,
data(transition) {
return AuthService.getCurrentUser().then(currentUser => {
transition.next({ currentUser });
});
}
を。
編集:私はbeforeRouteEnter
の承知しているが、これは親のすべてのコンポーネントの構成要素ではなく、ルートの特定成分であるApp.vue
コンポーネントです。ユーザーが現在のパスをチェックするApp.vue
コンポーネントにloaedとしたとき、私は考えることができるhttps://router.vuejs.org/en/advanced/data-fetching.html
はい、これは 'App.vue'コンポーネントですが、これはどのルートにも接続されていないため動作しません。少なくとも動作させることはできませんでした。 – Nikola