2014-06-25 11 views
7

Domanda revisione: 04/30/2015Definizione Ember.Object personalizzato in Ember-CLI

vorrei definire un nuovo Ember.Object.extend() da qualche parte nel mio progetto Ember CLI, in modo che possa fare nuove istanze di oggetti da esso usando una riga come myObject.create()

E 'corretto memorizzarli in una directory come app/custom-objects? e quindi posso fare qualcosa come import myObject from './custom-objects/my-object'

È necessario un inizializzatore per registrare l'oggetto in ambra, prima che io possa importarlo?

La mia ipotesi qui è corretta?

+1

questo potrebbe essere quello che stai cercando per http://stackoverflow.com/a/23729225/548568 – blessenm

+0

@blessenm grazie per questo ... sai che ember-cli ha rimosso la directory "inizializzatori" dall'installazione predefinita, quindi ho pensato (perché sono ancora nuovo) che forse era una cosa deprecata ... ma a quanto pare funzionerà ancora se lo aggiungo. Lo darò a vai :) – Grapho

risposta

8

L'inizializzatore non è necessario.

Si potrebbe definire myObject:

//app/custom-objects/my-object.js 
import Ember from 'ember'; 

export default Ember.Object.extend({ 
    name: 'DefaultName' 
}); 

e quindi si potrebbe importare ovunque:

//app/pods/parent/children/controller.js 
import Ember from 'ember'; 
import MyObject from '../../../custom-objects/my-object' 

export default Ember.Controller.extend({ 
    //... 
    myObj: MyObject.create({name: 'SuperName'}), 
}); 

//app/pods/parent/children/template.hbs 
name: {{myObj.name}} {{!-- => SuperName --}} 
+0

questa risposta è accettabile, grazie! – Grapho