angular2 после ember2: computed, data store, route refresh

246
17 апреля 2017, 05:14

Всем привет! Ребят, я заканчиваю проект на 2ом Ember и не за горами новый, хотелось бы теперь попробовать новый ангулар(который 4й уже), однако после пары дней его изучения возникло несколько вопросов, без ответов на которые выбор пока сделать сложно. Собственно поэтому я здесь.

1) Аналогия computed в angular Первое что мне очень сложно понять после ембера, так это отсутсвие вычисляемых свойств в компонентах ангулара, я наставил консольных логов и увидел, что на малейший чих ангулар запускает перерасчет всех биндингов. На текущем проекте(банковская система) у нас есть несколько страниц с довольно сложной логикой, боюсь представить что было бы если бы ембер перезапускал расчет всех расчитываемых свойств как ангулар. Наверняка ангулар понимает какие из свойств были изменены, так почему бы не сделать какую-нибудь аннотацию, в которой указывать при изменении каких именно свойств стоит пересчитывать данное.

2) Работа с данными в angular. Второй вопрос это работа с данными, а точнее с их связями. Во первых сейчас я всегда знаю, что в store у меня есть только одна версия каждой модели, и могу через одну модель достать другую через 2 и более связей. Обновив модель, я по связям получу уже обновленную, т.е. DataStore всегда хранит актуальные изменения, получается такая себе runtime database. Как в ангулар с этим работается?

3) Рефреш текущего роута. Как все устроено в ембер: у меня есть lifecycle hook называемый model. В нем я получаю данные с сервера, они резолвятся и приложение начинает работать. В остальном коде у меня висят вычисляемые свойства зависимые от этих данных, потом вычисляемые свойства зависимые от этих вычисляемых свойств и так далее. Таким образом обновив модель я обновляю весь текущий роут. Данная штука юзается не часто, обычно хватает того, что после определенного действия на сервере, возвращается результат с данными, которые покроют все произошедшие изменения(к примеру изменили баланс транзакции, а сервер вернул перерасчитынный баланс аккаунта), однако есть и ситуации, когда на сервере происходит очень большие изменения, результат которых вернуть в ответ было бы тоже самое, что рефрешнуть весь роут. Ембер предоставляет возможность сделать это. Как поступить в этом случае в ангулар?

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

READ ALSO
Не передаются изображения в base64

Не передаются изображения в base64

Формирую массив, отправляю с js в php, а там не принимаются изображенияВсе остальное php принимает

198
click в jquery возвращает нативный js объект

click в jquery возвращает нативный js объект

при клике на ссылку должен вызываться jquery объект: $( "__tab-btn" )

179
Определение текущего слайда

Определение текущего слайда

При нажатии на "+" происходит анимация появляется изображение , а потом текст, но после этого если переключится на другие слайды там та же картинка...

205