Ich versuche, Ember-Speicher zu verwenden, um Anforderungen an die API für Daten zu senden. Ich bin so kurz davor, es funktioniert, aber aus irgendeinem Grund werden die Modelldaten nicht in der Vorlage angezeigt.Ember-Datenspeicherobjekt, das nicht über Vorlage rendert
ich eine Antwort vom Server, die wie folgt aussieht:
artist_profile: {
alias:"alias",
bio:"biofda",
created_at:Tue Nov 22 2016 10:50:27 GMT-0500 (EST),
location:"location",
portfolio_link:"link",
updated_at:Thu Dec 22 2016 20:55:38 GMT-0500 (EST)
}
Aber wenn es durch den Serializer geht, wird es auf das Modell wie folgt festgelegt:
Strecke Modell:
...
data: {
alias:"alias",
bio:"biofda",
created_at:Tue Nov 22 2016 10:50:27 GMT-0500 (EST),
location:"location",
portfolio_link:"link",
updated_at:Thu Dec 22 2016 20:55:38 GMT-0500 (EST),
},
id:"980190976",
...
Ich denke, das ist, warum es nicht ordnungsgemäß auf der Vorlage rendern. In der Tat, wenn ich Debugger in die Route und this.model.alias
aufrufen, wird es als undefined zurückgegeben. aber wenn ich route.get('model').get('alias')
mache, gibt es den Alias-Wert zurück.
Wer weiß, was ich falsch mache, um zu verhindern, dass das Geschäft ein Modell, das die Vorlage wiedergeben kann, ordnungsgemäß zurückgibt?
Weitere Code:
Adapter:
export default DS.RESTAdapter.extend({
host: CONFIG.API_HOST,
pathForType() {
return 'artist_profiles';
}
});
Serializer:
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
normalizeSingleResponse(store, primaryModelClass, payload, id, requestType) {
payload = { artist_profiles: payload.artist_profile };
return this._super(store, primaryModelClass, payload, id, requestType);
}
});
Modellklasse:
import DS from 'ember-data';
const {
Model,
attr,
belongsTo
} = DS;
export default Model.extend({
alias: attr('string'),
bio: attr('string'),
portfolio_link: attr('string'),
location: attr('string')
});
Strecke Modell Haken:
model() {
return this.get('store').find('artist-profile', 980190976);
}
Vorlage:
ARTIST PROFIlE <br>
{{model.alias}}
{{model.bio}}
{{model.location}}
"loadTracks" -Methode in "masterService" einschließen – kumkanillam
geändertes Modell hook – gattra
'find' ist private Methode jetzt. Verwenden Sie stattdessen 'findRecord' anstatt – kumkanillam