Class CoreObject
publicimport CoreObject from '@ember/object/core';
destroy EmberObject public
Defined in packages/ember-runtime/lib/system/core_object.js:445
- returns
- EmberObject
receiver
Destroys an object by setting the isDestroyed
flag and removing its
metadata, which effectively destroys observers and bindings.
If you try to set a property on a destroyed object, an exception will be raised.
Note that destruction is scheduled for the end of the run loop and does not happen immediately. It will set an isDestroying flag immediately.
init public
Defined in packages/ember-runtime/lib/system/core_object.js:210
An overridable method called when objects are instantiated. By default, does nothing unless it is overridden during class definition.
Example:
const Person = Ember.Object.extend({
init() {
alert(`Name is ${this.get('name')}`);
}
});
let steve = Person.create({
name: 'Steve'
});
// alerts 'Name is Steve'.
NOTE: If you do override init
for a framework class like Ember.View
,
be sure to call this._super(...arguments)
in your
init
declaration! If you don't, Ember may not have an opportunity to
do important setup work, and you'll see strange behavior in your
application.
toString String public
Defined in packages/ember-runtime/lib/system/core_object.js:498
- returns
- String
string representation
Returns a string representation which attempts to provide more information
than Javascript's toString
typically does, in a generic way for all Ember
objects.
const Person = Ember.Object.extend()
person = Person.create()
person.toString() //=> "<Person:ember1024>"
If the object's class is not defined on an Ember namespace, it will indicate it is a subclass of the registered superclass:
const Student = Person.extend()
let student = Student.create()
student.toString() //=> "<(subclass of Person):ember1025>"
If the method toStringExtension
is defined, its return value will be
included in the output.
const Teacher = Person.extend({
toStringExtension() {
return this.get('fullName');
}
});
teacher = Teacher.create()
teacher.toString(); //=> "<Teacher:ember1026:Tom Dale>"
willDestroy public
Defined in packages/ember-runtime/lib/system/core_object.js:471
Override to implement teardown.