Как отменить изменения в модели? - PullRequest
3 голосов
/ 02 апреля 2012

Можно ли вернуть модель в чистое состояние? Я имею в виду отменить все изменения его свойств и пометить состояние как чистое?

Ответы [ 4 ]

7 голосов
/ 03 мая 2012

Ember-Data теперь имеет потрясающую реализацию этого.Они используют класс транзакции для управления изменениями в ваших объектах, что, imo, является для этого подходящим местом.Чтобы откатить изменения в модели:

  1. Получить модель

    // if PostController is a ArrayController or ArrayProxy
    p = App.PostController.objectAt(0);
    
  2. Получить экземпляр связанной транзакции объекта и вызвать его метод rollback ().

    p.get("transaction").rollback();
    
2 голосов
/ 29 января 2016

Начиная с Ember 2.0, это путь (если вы получили объект модели 'модель'):

model.rollbackAttributes();

См. https://guides.emberjs.com/v2.0.0/models/creating-updating-and-deleting-records/

1 голос
/ 02 апреля 2012

Есть открытый запрос PullRequest Поля Чавара @ tchak , см. https://github.com/emberjs/data/pull/176

0 голосов
/ 12 января 2015

ОБНОВЛЕНИЕ : работает с версией ember <= 1.13 </p>

this.get('model').rollback();

см. Аналогичный вопрос: Вернуть изменение в модель данных ember

...