Ich habe einen Ember-Adapter, und es verbindet sich mit meiner API, um Daten an die Modelle zu füttern und zu speichern. Das Problem ist die Adresse meiner API kann aus "Gründen" ändern. Wie kann ich meinen Adapter aktualisieren, damit Änderungen im Store den Host aktualisieren? Selbst wenn ich den Host ändere, wird der Adapter den neuen Host das nächste Mal verwenden, wenn er eine HTTP-Anfrage stellen muss? HierEmber Adapter Update Host
ist, was ich versucht habe ...
const ApplicationAdapter = RestAdapter.extend({
namespace: 'api',
host: "0.0.0.0"
});
ApplicationAdapter.reopenClass({
updateHost(host) {
console.log("Here: " + host);
//Both of these throw an error probably because host is not static
//this.set('host', host); I attempted this first
//this.host = host; Then I attempted this way
}
});
export default ApplicationAdapter;
Ich habe einen Beobachter, wenn die Änderungen speichern beobachtet, und ruft dann die statische Methode ApplicationAdapter.
export default Model.extend({
ip1: attr('string'),
ip2: attr('string'),
ip1Observer: Ember.observer('ip1', function() {
let newValue = this.get('ip1');
ApplicationAdapter.updateHost(newValue);
}),
ip2Observer: Ember.observer('ip2', function() {
let newValue = this.get('ip2');
ApplicationAdapter.updateHost(newValue);
})
});
Denken Sie daran, dass Sie modellspezifische Adapter schreiben können, wenn Sie benötigt werden. – kumkanillam