当我从一条路线转换回然后回到它时,我遇到了麻烦,但没有导致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
中的所有内容都被拆除并重新创建?
答案 0 :(得分:0)
来自摇滚乐与Ebberjs:
Ember中的控制器是单身人士,因此不会被拆除 他们的路线远离或当他们的模型改变时导航。那 意味着他们的属性在应用程序存在时会持续存在 需要重置需要手动完成。 (...)每条路线都有 路由时将调用的
resetController
挂钩 退出或路线模型改变时
我试图用这个twiddle来模仿你的游戏:
resetController: function(controller,isExiting ) {
if(isExiting) {
this.score=0;
}
}