Ситуация такая, при инициализации в объекте route три объекта маршрутов:
var routes = [
{ name: 'a', path: '/', component: Start },
{ name: 'b', path: '/signup', component: SignUp, alias: '/sign' }
{ name: 'd', path: '*', component: NotFound }
]
При успешной авторизации пользователя в приложении ему должен быть доступен его личный кабинет по адресу: '/user'. Реализуется это путем добавления к объекту router нового объекта маршрута:
this.$router.addRoutes([{ name: 'c', path: '/user', component: User }]);
Но при попытке перехода по данному маршруту меня терпит неудача(( а именно редирект на маршрут 'd':
Как быть собстна, Господа?)
Vue.use(Router)
var routes = [
{ name: 'a', path: '/', component: Start },
{ name: 'b', path: '/signup', component: SignUp, alias: '/sign' },
{ name: 'd', path: '*', component: NotFound }
]
var router = new Router({
mode: 'history',
routes: routes
})
export default {
name: 'app',
router: router,
data: function() {
return {
message: 'Hello'
}
},
methods: {
addNewUrl: function(mes) {
this.$router.addRoutes([{ name: 'c', path: '/user', component: User }]);
console.log(this.$router); // получаю все те же самые три маршрута 'a', 'b', 'd'
},
P.S. при вызове метода push "не отходя от кассы" переход успешен, но увы, при возврате к стартовой странице '/' или регистрации '/signup' повторный переход к '/user' невозможен(((
this.$router.addRoutes([{ name: 'c', path: '/user', component: User }]);
this.$router.push('/user');