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