Is there any way to get at what an Ember.js object really contains in the JavaScript console. If you do console.log(this)
, you will get almost the same data structu
There is also the App.__container__
object which, if you know what name your objects are registered to the ember app with, will allow you to grab any object you need while debugging from any environment.
A couple of examples are
App.__container__.lookup('store:main') # Gets the store
App.__container__.lookup('controller:blog') # Gets the blog controller
If you're trying to inspect an Ember Data record, you can call the serialize method on it from your console, this will give you the object as your external data source expects.
Ember provides several methods to help debug an object from console:
Object.toString prints identity of any ember object
App.Person = Em.Object.extend()
person = App.Person.create()
person.toString()
//=> "<App.Person:ember1024>"
Ember.inspect converts the object into a useful string description
var object = Ember.Object.create({
firstName: 'Hansi',
lastName: 'Hinterseer',
age: 58
});
console.log( Ember.inspect(object) );
// {__ember1331067974108_meta: [object Object] , firstName: Hansi , lastName: Hinterseer , age: 58}
Ember.keys returns all of the keys defined on an object or hash
console.log(Ember.keys(this));
ember-chrome-devtools is a nice way to solve this problem now...