Perché ho bisogno di "riaprire" per impostare l'URL per un modello di dati ember?

StackOverflow https://stackoverflow.com//questions/12679998

  •  12-12-2019
  •  | 
  •  

Domanda

Ho trovato che se cerco di includere l'URL nella definizione originale di un modello di dati di ember che soffia nel mio adattatore di riposo ma se semplicemente "riaprennica" è bene.

Qual è la ragione tecnica alla base di questo?(sotto è l'esempio di funzionamento)

CodeCamp.Speaker = DS.Model.extend({
    id: DS.attr('number'),
    name: DS.attr('string'),
    session: DS.belongsTo('CodeCamp.Session')
});

CodeCamp.Speaker.reopenClass({
    url: 'sessions/%@/speakers'
});
.

È stato utile?

Soluzione

Chiamare extend su un oggetto Imposta gli attributi di istanza, mentre reopenClass Imposta gli attributi della classe.

L'attributo url è un attributo a livello di classe,

Ember.get(CodeCamp.Speaker, 'url')
.

al contrario di:

speaker = CodeCamp.Speaker.createObject()
Ember.get(speaker, 'name')
.

Altri suggerimenti

Nota Inoltre è possibile estendere un'istanza utilizzando semplicemente reopen.Emberjs 'Docu contiene un esempio che trovi a http:// emberjs.COM / GUIDE / Object-Model / RiaPening-Classes-E-istanze /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top