2015-06-01 3 views
0

У меня есть модель (с использованием данных Ember), которую я хотел бы автосохранять при изменении любого из полей. Я использую this autosave plugin, и он отлично работает, кроме что у меня есть поля JSON, которые не запускают автосохранение.Ember - Автосохранение с полями JSON

Моя модель имеет поля, которые выглядят следующим образом:

title: DS.attr('string'), 
options: DS.attr(), 

Всякий раз, когда title изменения атрибутов, это вызовет setUnknownProperty метод на ObjectProxy, используемой уголек-автосохранение плагин. Однако, если я меняю, например, options.layout, setUnknownProperty не вызывается, поэтому он не будет запускать автосохранение.

Один из вариантов, которые я пытался, - установить наблюдателей на все свойства объекта options. Однако, как только я сохраню модель в базе данных, Ember возвращает данные с сервера и перезагружает модель, которая затем снова запускает наблюдателей, что приводит к другому сохранению, вызывая бесконечный цикл.

Какие у меня есть варианты?

ответ

1

Что делать, если вы

options.layout = 'foobar'; 

Тогда сразу звоните:

this.set('options', options) 

Будет ли этот триггер метод setUnknownProperty в вашем ObjectProxy?

+0

Hm. Я попробую и дам вам знать. – musicnothing

+0

Это в конечном итоге решило мою проблему обходным путем. Мне не нужно было запускать 'this.set ('options', options);', я только что вызвал 'this.set ('changed', 'changed');' и он работал нормально. – musicnothing

+0

Awesome. Что изменилось? Это что, встроенная в эмбер? –

Смежные вопросы