当用户未经过身份验证时,我需要系统地重定向到登录页面。出于这个目的,应用程序路径中的beforeModel
似乎是最佳选择,但似乎beforeModel
不为所有转换触发,与willTransition
不同,总是被调用,但是当退出路线时,没有输入......
例如,手动更改URL时不会调用beforeModel
。
我已经阅读了这个Gist,它解释了willTransition
始终被调用,我确认了,但它没有解释是否应该始终调用beforeModel
,并且哪个条件。
我正在使用Ember 1.2.0 beta 3,但我遇到与1.1.2相同的问题,登录重定向实际上是由ember-simple-auth处理的(我在回购时遇到的问题:#27)。< / p>
有人可以解释何时应该调用beforeModel
?
注意:我问过same question on Ember Discuss,但没有回答。
答案 0 :(得分:1)
我在1.1.0-beta.4和之前的模型工作正常。在任何情况下都应调用beforeModel,例如URL更改或使用模型转换(例如,通过链接到)。如果我们使用链接到控制器或从控制器转换,模型钩子是队长。
获取更多信息并帮助调试设置LOG_TRANSITIONS
App = Ember.Application.create({
LOG_TRANSITIONS: true
});