✅ Вотум недоверия сеттерам: читайте на Хабре новую заметку Цифры о порядке входных параметров в Angular
Наша коллега Дарина 2 года работала над индустриальной дизайн-системой Prizm — инструментом разработчиков и дизайнеров для создания новых приложений и сервисов. В тексте она делится опытом, как обходиться с нарушениями в работе компонентов из-за некорректного порядка входных параметров в Angular, популярном фреймворке для веб-приложений.
После того, как в 2020 году на смену компилятору ViewEngine пришёл новый Ivy, ключевым стал порядок объявления свойств именно в шаблоне, а не коде компонента. Кроме того, если прежде один параметр зависел от другого, то достаточно было объявить их в правильном порядке.
Поскольку это интуитивное поведение Angular не фиксировал в документации, от него легко отказались, чтобы оптимизировать сборку компонентов в новом движке. А изменение не включили в список breaking changes. В ответ же на запросы растерянных команд в GitHub Angular отвечают: это не часть публичного API, хотите контролировать порядок — используйте ngOnChanges.
Как итог появилось неожиданное поведение. Как это влияет на работу, что с этим делать и почему надо уделять пристальное внимание сеттерам, которые используют для реакции на изменение входных параметров — Дарина делится в статье: https://habr.com/ru/companies/zyfra/articles/970150/
habr.com: Когда порядок решает, или почему я больше не доверяю сеттерам в Angular