在Ember.Application.create之后:寻址创建的控制器/路由器/视图等实例

时间:2013-01-30 12:40:53

标签: ember.js

之后

window.App = Ember.Application.create

如何解决自动创建的路由器,控制器实例?我发现有几篇帖子说明了

 App.LoginController = Ember.Controller.extend ...

应该导致实例化

 App.loginController
应用程序上的

- 但1.0.0-PRE.4似乎不再是这种情况。

我尝试了几件事,比如

 App.router // undefined
 App.get("router") // undefined
 App.get("router.loginController") // undefined
 App.get("router.login") // undefined
 App.get("loginController") // undefined
 ...   

但似乎没有任何效果。

 App.defaultRouter() 

实际上是一个创建新的空路由器的函数:但不是我使用

定义的路由器
 App.Router.map (match)->
     ...

我正在尝试查看chrome中运行的应用程序,还需要从ember外部的异步运行调用将变量传入控制器(facebook查找以检查用户是否已经记录in) - 所以任何提示我如何从外面偷看和捅到灰烬中的提示都非常受欢迎!!

PS:请有人为ember创建版本标签:对于所有的API更改,对于新手来说,最难的事情是找出答案是否实际适用于当前版本的ember或者是否已经过时了:一个标签,表明答案实际工作的版本真的很有用......

1 个答案:

答案 0 :(得分:2)

使用Ember pre-4,实例不再放在App.loginController等上。我认为这些只是放在那里用于调试/测试目的而不是在生产代码中使用。这些现在放在

App.__container__

正如名称所示,不要使用它。这是超级私人的。 :)

从4前渲染模板/视图开始,设置控制器和定义控制器的模型/内容将在路径中设置。您可以在指南http://emberjs.com/guides/routing/

中阅读相关内容

当涉及到与Facebook集成的问题时,您可以使用Ember.Instrumentation命名空间从外部订阅和触发事件到您的应用。您可以在此处查看问题和答案:How to fire an event to Ember from another framework