У меня есть Ember Adapter, и он подключается к моему api для передачи данных в модели и для хранения. Проблема заключается в том, что адрес моей api может измениться из-за «причин». Как я могу обновить свой адаптер, чтобы изменения в хранилище обновили хост? Даже если я изменю хост, адаптер будет использовать новый хост в следующий раз, когда ему понадобится HTTP-запрос?Обновление Ember Adapter Host
Вот что я пытался ...
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;
У меня есть наблюдатель, который наблюдает при изменении магазина, а затем вызывает статический метод 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);
})
});
Помните, что вы можете написать адаптор модели, если потребуется. – kumkanillam