是否可以执行完整,真实的过渡到另一条路线并转换回Ember?

时间:2017-05-09 13:35:54

标签: ember.js

当我从一条路线转换回然后回到它时,我遇到了麻烦,但没有导致Ember完全转换。

更具体地说,我有一条路线game.new来处理设置新游戏,然后转换为game.play。用户不需要做任何事情,因此转换会自动发生在afterModel挂钩中。但是,一旦游戏结束,我想通过转换回game.new开始新游戏,然后自动转换回game.play。但是,如果我在app/routes/game/new.js中有以下挂钩:

afterModel() {
  this.transitionTo('game.play', game);
}

这具有未完全完成转换的效果,因此game/play路线未完全拆除并再次设置。

有没有办法完全从game.play过渡到game.new,然后自动转换回game.play,以便game.play中的所有内容都被拆除并重新创建?

1 个答案:

答案 0 :(得分:0)

来自摇滚乐与Ebberjs:

  

Ember中的控制器是单身人士,因此不会被拆除   他们的路线远离或当他们的模型改变时导航。那   意味着他们的属性在应用程序存在时会持续存在   需要重置需要手动完成。 (...)每条路线都有   路由时将调用的resetController挂钩   退出或路线模型改变时

我试图用这个twiddle来模仿你的游戏:

resetController: function(controller,isExiting ) { 
    if(isExiting) {
    this.score=0;
  }
}