如何在对象控制器中访问(" init")中的ember模型?在这种情况下它未定义:
inititalise: function () {
// this.model is undefined
}.on("init"),
答案 0 :(得分:11)
简短的回答是你无法做到。在路径有机会在控制器上设置模型之前,控制器由容器实例化。如果此对象控制器是Ember为您自动设置的控制器,则您无法在初始化期间访问该模型。请尝试改为观察model
属性。
我无法在指南中找到任何相关文档,因此I'll link you to the source code。如果您阅读setup
函数的来源,则会看到generateController()
被调用,然后稍后调用setupController()
。基本上,创建控制器,Ember做了一些工作,然后设置模型。 Ember在创建时不会为控制器设置模型。