2015-09-17 2 views
1

У меня возник вопрос о методе .save() в Ember-Data.Ожидание результата обещания перед обновлением шаблонов

Обычно, как я прочитал в документации, вы должны использовать его таким образом:

this.set('model.title', newTitle); 
this.get('model').save(); 

Проблема в том, что, если я связать свойства в шаблоне, и я хочу, чтобы ждать успешного сохранения, прежде чем обновление шаблонов?

Первая строка кода автоматически обновляет шаблоны со свойствами связывания, и я хочу дождаться успешных изменений с моего сервера.

+0

http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_better-caching -defaults-for-code-findall-code-and-code-findrecord-code - особенно посмотрите на 'reload: true', чтобы принудительно обновить его до продолжения. – elithrar

+0

this.get ('model'). Save(), затем (функция (сохранена) {saved.set ('title', newTitle)}; –

ответ

2

Отъезд ember-buffered-proxy. Ваши route.js и template.hbs файлы будут выглядеть как те ниже:

//route.js 

setupController(controller, model) { 
    this._super(controller, model); 

    controller.set('bufferedModel', BufferedProxy.create({ 
    content: model 
    }); 
} 

actions: { 
    save: { 
    this.get('model').save().then(() => { 
     bufferedModel.applyBufferedChanges(); 
    } 
    } 
} 
//template.hbs 

//replace 

{{model.title}} 

//with 

{{bufferedModel.content.title}} 
Смежные вопросы