如何在对象控制器中访问on(“init”)中的ember模型

时间:2014-12-06 14:47:46

标签: ember.js

如何在对象控制器中访问(" init")中的ember模型?在这种情况下它未定义:

  inititalise: function () {

    // this.model is undefined

  }.on("init"),

1 个答案:

答案 0 :(得分:11)

简短的回答是你无法做到。在路径有机会在控制器上设置模型之前,控制器由容器实例化。如果此对象控制器是Ember为您自动设置的控制器,则您无法在初始化期间访问该模型。请尝试改为观察model属性。

我无法在指南中找到任何相关文档,因此I'll link you to the source code。如果您阅读setup函数的来源,则会看到generateController()被调用,然后稍后调用setupController()。基本上,创建控制器,Ember做了一些工作,然后设置模型。 Ember在创建时不会为控制器设置模型。