2015-02-10 11 views
5

ho notato che nel file app.js prodotto da Ember CLI (v0.1.12), che stanno utilizzando:Ember.Application.create vs Ember.Application.extend

var App = Ember.Application.extend({...}) 

ma nel introduction guide, hanno' Re utilizzando:

window.App = Ember.Application.create({...}); 

c'è qualche differenza nel risultato tra questi due (creare vs. estendere) modi di creare un'applicazione Ember?

risposta

2

Come documentato nella documentazione Ember extendCreates a new subclass, mentre createCreates an instance of a class.

La differenza principale è che utilizzando extend

è possibile ignorare i metodi, ma ancora accedere alla implementazione della classe genitore chiamando il metodo _super speciale()

ma create non lo fa permettersi quella capacità.

I documenti collegati contengono esempi di codice validi in particolare per quanto riguarda la domanda.

Vedi

The creare() on line # 17 crea un'istanza della classe App.Soldier. L'estensione() sulla riga # 8 crea una sottoclasse di App.Person. Qualsiasi istanza della classe App.Person non avrà il metodo march().

e il codice che si sta procedendo.