2

之后

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 查找以检查用户是否已经登录) -所以任何提示我如何从外面窥探余烬都是非常受欢迎的!

PS:请有人为 ember 创建版本标签:随着所有 API 更改,对于新手来说,目前最困难的事情是找出答案是否真的适用于当前版本的 ember,或者它是否已经过时:指示答案实际适用于哪个版本的标签将非常有帮助......

4

1 回答 1

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

于 2013-01-30T13:40:57.430 回答