在app controller init之前调用的Ember路径模型函数

时间:2015-01-02 04:39:56

标签: ember.js

我注意到在执行完全重新加载时,我的路由model函数将在应用程序控制器init方法之前触发。

如果这是设计使然,我怎样才能在调用模型之前执行代码(设置我的出站Ajax请求)?

3 个答案:

答案 0 :(得分:0)

你应该使用ember的initializers来从服务器加载一些数据/在调用应用程序控制器init之前进行一些设置,初始化程序中的代码在其他任何事情发生之前执行你的余烬应用。如果你使用的是ember-cli,app / initializers上会有一个文件夹,你的初始化代码应该在那里。

答案 1 :(得分:0)

与模型关联的钩子(beforeModelmodelafterModel)在路径控制器实例化之前被调用。

或许beforeModel正是您所寻找的http://emberjs.com/api/classes/Ember.Route.html#method_beforeModel

根据文档,beforeModel适用于

  

在尝试解析模型之前,需要先进行任何异步操作。

答案 2 :(得分:0)

引用:https://github.com/emberjs/ember.js/issues/15495#issuecomment-315464778

通常,路由模型在控制器之前执行。但是,维护人员告诉我们, 从来没有保证可以按照与路由结构相关的任何特定顺序创建控制器

注意:当存在与路由URL(v3.22)关联的查询参数时,我遇到了在路由模型之前调用控制器初始化的情况