У меня есть приложение, которое имеет три простых представления, таких как:
Homepage - Simple page with information texts
Register - Asks for e-mail and passwords and register users
Logged - When registration done, this page displays buyable items
После завершения регистрации внутренний сервер возвращает токен, и я сохраняю его в window.localStorage.Я хочу показать "Домашнюю страницу", когда в браузере нет токена, если это так, должна отображаться страница "Зарегистрированные".Я также хочу, чтобы у них был такой же путь: "/"
Как этого добиться?
router.js
const router = new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: "/",
get component() {
// This code works but when this.$router.push("/") executed from Register, Home is rendered unless page is refreshed
if(typeof Store.getters.token === "undefined") return Home;
return Logged;
},
},
{
path: "/register",
component: Register
}
]
});
register.vue
this.$http.post("register", {
email: this.email,
password: this.password
})
.then(response => {
this.$store.commit("setToken", response.data.token);
this.$router.push("/"); // Homepage is rendered unless page is refreshed
})