我的router.js
是这样的:
// router.js
this.route('cards', function() {
this.route('all');
this.route('card', {path: '/:card_id'}, function() {
this.route('edit');
});
this.route('new');
});
现在,假设我在这个链接中:/cards/1
。当我刷新此页面时,我会转到路线/cards/all
。
我从/cards/all
重定向到/cards
:
// cards.js
beforeModel() {
this.transitionTo('cards.all');
}
为什么我在/cards/all
刷新时会被重定向到/cards/1
?
答案 0 :(得分:1)
您已转换为/cards/all
,因为路由/cards/:card_id
已嵌套到/cards
路由中,因此当您输入/cards/:card_id
路由时,执行顺序为:
cards
route(beforeModel,model,...)cards/:id
route(beforeModel,model,...)但是在使用模型路由之前,您正在转换到cards.all
,这就是重定向的原因。