2015-04-13 4 views
0
Router.map(function() { 
    this.route('login', {path: '/'}); 
    this.route('signup'); 
    this.route('forgot-password'); 
    this.route('main'); 
}); 

У меня есть проблема последующей, когда я использую «/» входа в систему у меня попробовать вручную поставить/главный это не будет перенаправлять мне «/ логин»Как настройки маршрутизаторов

I хочешь контролировать доступ, потому что я могу перемещаться по всем своим шаблонам, если я пишу его в поле поиска

+0

Почему, если у меня есть это 'this.route (» login ', {path:'/'}); 'и я перейду на' http: // localhost: 4200/login', там есть ошибка ** Uncaught # ** – Rojke

+1

Потому что вы указываете, что маршрут 'login' можно найти в'/'. Если вы удалите спецификацию «путь», по умолчанию будет '/ login'. – rog

ответ

2

из путеводителей:

Если вы хотите перенаправить с одного маршрута на другой, вы можете сделать переход в крюке beforeModel вашего обработчика маршрута.

http://guides.emberjs.com/v1.11.0/routing/redirection/#toc_before-the-model-is-known

В вашем случае, если вы хотите автоматически сделать посещение / перенаправлять /login:

// app/router.js 
 
Router.map(function() { 
 
    this.route('login'); 
 
}); 
 

 
// app/routes/index.js 
 
export default Ember.Route.extend({ 
 
    beforeModel: function() { 
 
    this.transitionTo('login'); 
 
    } 
 
});

Смежные вопросы