Как мы делаем базовые компоненты в Taiga UI более гибкими: к | Frontend klondike
Как мы делаем базовые компоненты в Taiga UI более гибкими: концепция контроллеров компонента в Angular.
В процессе эволюции нашей библиотеки компонентов Taiga UI мы стали замечать, что некоторые компоненты посложнее имеют @Input просто для того, чтобы прокинуть его значение в @Input другого нашего базового компонента внутри себя. Иногда встречается такая вложенность даже в три слоя.
Мы справились с помощью хитрых директив, которые назвали контроллерами. Они полностью решили проблему вложенности и сократили вес библиотеки.
В этой статье я покажу, как мы организовали общую систему настроек всех полей ввода благодаря этой концепции и возможностям DI в Angular.
https://habr.com/ru/company/tinkoff/blog/546178