在调试器中,通过键入App.ClassName.prototype
可以轻松获得我创建的对象的类定义。好吧不是很有意思,但是当你第一次在“Ember dark”中感受到时,它仍然很好。虽然实例怎么样?这就是我想要访问的内容。
如果我的应用已移至ActivitiesByDateRoute
并实例化ActivitiesByDateController
,那么必须有ActivitiesByDateController
的实例,但它存储在哪个容器中?我想也许Ember调试器(又名,ember-extension)可能会帮助我解决这个问题。我认为应该,但我只是没有得到它。以下内容对我有什么影响?
实例名称似乎是ember461
,但如何在调试器中对其进行操作?我试过App.ember461
...不行。我试过App.ActivitiesByDateController.ember461
...也不行。
无论如何,你得到了我的问题的要点。请帮助,我是一个没有实例的对象。
答案 0 :(得分:3)
以下是操纵余烬模型的最简单方法。
只需将模型的一个属性输出到页面
{{ someValue }}
将值绑定到输入框
{{ input value=someValue }}
在第一次生成模板时记录对象的值(而不是在更改时)。
{{ log someValue }}
在生成模板时停止模板,以便您可以查看模型。
{{ debugger }}
输出正在构建的模板的上下文
{{this}}
{{model}}
{{controller}}
{{view}}
检查路径中setupController挂钩中的模型,甚至做一些可怕的事情,比如让模型成为一个你可以在任何地方查看的全局变量(我只是用它来测试/调试)
App.SomeRoute = Ember.Route.extend({
setupController: function(controller, model) {
this._super(controller, model);
globalSomeModel = model; // I wouldn't recommend polluting the global scope except for testing etc.
}
});
尝试抓取部分ember并在ember run循环之外使用/操作它们会给你带来意想不到的结果。
以下是我在另一篇关于在ember运行循环之外获取控制器实例的SO帖子中留下的一些信息。
var controller = Application.__container__.lookup('controller:someCamelCaseName');
我提到的一些先前的内容可以在这个jsbin http://jsbin.com/efajen/1/edit
中查看答案 1 :(得分:2)
现在从调试器(我的意思是ember-extension插件)中,您可以单击该元素,并在控制台中通过$ E检索它。