2017-02-15 6 views
0

Использование углового 1.5.8.Угловое слияние не работает

У меня есть функция, которую другие компоненты требуют, чтобы родительский элемент обновлялся. Родитель поддерживает основную копию редактируемого объекта, который я назову виджет. На инициализации я поставил три поля на виджете

{a:Array[0],b: {},c:{}} 

После того, как один из данных компонентов загружают через $ ресурс она вызывает в функцию обновления с объектом, который пытается установить д. Когда я печатаю д в Dev инструментов консоли он говорит d является объектом когда я развернуть его я получаю:

status: Resource 
    x: "something" 
    y: "something else" 

рядом я называю angular.toJson на d и получить {"status":{"x":"something","y":"something else"}}

, наконец, я называю angular.merge(widget,resultFromToJsonAbove) и печать в результате я возвращаю свой оригинальный виджет без объекта статуса. Когда я экспериментирую в plunker с 1.5.8, и минимальный статус статуса добавляется в виджет. Я что-то пропускаю или что-то не замечаю?

ответ

1

angular.toJson создает строку, и вы не можете объединить строку с существующим объектом, потому что angular.merge ожидает два объекта (карты). Вы вызываете его с помощью объекта и строки.

Если вы действительно хотите это сделать, вам нужно десериализовать строку обратно к объекту с угловым.fromJson и передать это для слияния.

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