Sehr neu zu ember Entschuldigung, wenn Dummheit, ich versuchte, einen benutzerdefinierten Adapter und Serializer in Ember, durch Erweitern von DS.RESTadapter, und Rest Serializer zu erstellen, war es mir gelungen, die Antwort und Massieren Sie die Daten, um den Modellanforderungen zu entsprechen, aber ich konnte die Modellwerte in der Vorlage nicht mithilfe der Modelleigenschaft abrufen, aber ich habe eine Möglichkeit, die Werte abzurufen, um Sie auf die richtige Weise zu unterstützen.Ember-Daten für Nicht-Standard-Ruhe-Anrufe
Modell
App.Weather = DS.Model.extend({
name : DS.attr('string'),
temperature : DS.attr('string'),
humidity : DS.attr('string'),
description : DS.attr('string'),
});
Adapter
App.ApplicationAdapter = DS.RESTAdapter.extend({
buildURL: function(item) {
return "http://website/weather?q=" + item['q']+ "&appid="+item['appid'];
},
findQuery: function(store, type, query) {
return this.ajax(this.buildURL(query), 'GET');
}
});
Serializer
App.ApplicationSerializer = DS.RESTSerializer.extend({
extractArray: function(store, type, payload) {
var weathers = [{
id: 1 // Id hard coded
}];
weathers[0]["name"]=payload["name"];
weathers[0]["temperature"]=payload["main"]["temp"];
weathers[0]["humidity"]=payload["main"]["humidity"];
weathers[0]["description"]=payload["weather"][0]["description"];
weathers[0]["type"]=payload["weather"][0]["main"];
payload = { weathers: weathers };
return this._super(store, type, payload);
}
});
Strecke
App.WeatherIndexRoute = Ember.Route.extend({
model: function(params) {
//debugger;
return this.store.find('weather',{q:"London", `enter code here`appid:"b552aef423b1cf586b62d1ab1d4ef216"});
},
renderTemplate: function() {
this.render('default');
},
setupController: function(controller, model) {
**controller.set('model', model.content[0]);**
}
})
As Above ich alle Werte unter model.Content Array bin immer.
Nicht verstehen y ich hätte model.content statt nur Modell zu tun. und warum würde es sich so nisten?
Ich verwende eine ältere Version von Ember glut-1.1.2.js
Sie müssen die Modelleigenschaft in setupController hook nicht festlegen. da dies automatisch vom übergeordneten Controller festgelegt wird. Stellen Sie sicher, dass Sie this._super (.. arguments) aufrufen sollten. – kumkanillam
Informationen zu verschachtelten Adaptern finden Sie unter: Slides (http://www.slideshare.net/RyanMHarrison/nest-v-flat-with-emberdata) und/oder Video (https://www.youtube.com/watch?v=DjAMSjFPLW8) – rmharrison