afterModel emberjs中的转换参数

时间:2016-07-18 09:41:44

标签: javascript ember.js

我不明白为什么afterModel方法会获得transition参数,以及它代表什么(是从一个页面到另一个页面的过渡,但在afterModel方法中没有转换正在运行,并且afterModel的目的是使用模型数据在需要时启动转换。)

http://emberjs.com/api/classes/Ember.Route.html#method_afterModel

1 个答案:

答案 0 :(得分:3)

afterModel挂钩是三个模型挂钩中的第三个,它们都在转换完成之前运行

因此afterModel中的转换与beforeModel中的转换相同。

不同之处在于,有时您需要模型来决定是否要中止转换并重定向到其他地方。

示例可以是/userEdit/:user_id路由,其中​​管理员可以编辑所有用户,普通用户只能编辑自己的用户。在beforeModel中,您可以检查用户是否为管理员,如果没有,但您无法根据模型信息中止转换。在atferModel挂钩中,您可以完成此操作,并将转换保存到以后可以重试,例如在用户获得管理员权限之后。

afterModel挂钩返回的Promise解析后,路由器进入路由。