刷新emberjs时重定向

时间:2016-07-07 05:36:43

标签: ember.js routes ember-data ember-cli ember-router

我的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

回购链接:https://github.com/ghoshnirmalya/hub-client

1 个答案:

答案 0 :(得分:1)

您已转换为/cards/all,因为路由/cards/:card_id已嵌套到/cards路由中,因此当您输入/cards/:card_id路由时,执行顺序为:

  • cards route(beforeModel,model,...)
  • cards/:id route(beforeModel,model,...)

但是在使用模型路由之前,您正在转换到cards.all,这就是重定向的原因。