Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在控制台中检查Ember.js对象?_Ember.js - Fatal编程技术网

如何在控制台中检查Ember.js对象?

如何在控制台中检查Ember.js对象?,ember.js,Ember.js,是否有任何方法可以了解Ember.js对象在JavaScript控制台中真正包含的内容。如果执行console.log(this),则几乎所有对象都将获得相同的数据结构,如下所示: 这不是很有帮助,而且它让您不知道对象上实际设置了哪些属性 到目前为止,我发现调试的唯一方法是尝试使用console.log(this.get('whatever'))查找任何可能的名称,但很难猜测可用的名称 有没有办法深入挖掘对象的数据?Ember提供了几种方法来帮助从控制台调试对象: 打印任何余烬对象的标识 Ap

是否有任何方法可以了解Ember.js对象在JavaScript控制台中真正包含的内容。如果执行
console.log(this)
,则几乎所有对象都将获得相同的数据结构,如下所示:

这不是很有帮助,而且它让您不知道对象上实际设置了哪些属性

到目前为止,我发现调试的唯一方法是尝试使用
console.log(this.get('whatever'))
查找任何可能的名称,但很难猜测可用的名称


有没有办法深入挖掘对象的数据?

Ember提供了几种方法来帮助从控制台调试对象:

打印任何余烬对象的标识

App.Person = Em.Object.extend()
person = App.Person.create()
person.toString() 
//=> "<App.Person:ember1024>"
返回在对象或哈希上定义的所有键

console.log(Ember.keys(this));

还有
应用程序。如果您知道对象注册到ember应用程序的名称,那么它将允许您在任何环境中调试时获取所需的任何对象

下面是几个例子

App.__container__.lookup('store:main') # Gets the store
App.__container__.lookup('controller:blog') # Gets the blog controller

现在是解决此问题的好方法…

如果您试图检查余烬数据记录,您可以从控制台调用该记录上的方法,这将为您提供外部数据源所需的对象。

谢谢,这样可以更容易地查看封面下的内容:)“Hansi Hinterseer”请注意,Ember.inspect在Ember 3.x(可能是2.x?)中消失了,所以您必须执行以下操作:从“@Ember/object”导入{getProperties};然后使用getProperties(obj)获取一个JS对象,您可以将其打印到控制台
App.__container__.lookup('store:main') # Gets the store
App.__container__.lookup('controller:blog') # Gets the blog controller