Я относительный новичок в Angular (6+) и все еще нахожу свой путь через его чудесный и часто запутанный пейзаж.Одна вещь, которая недавно сожгла меня, это рефакторинг нескольких компонентов, которые извлекали некоторые данные OnInit()
, чтобы позволить им повторно извлекать данные всякий раз, когда вместо этого изменяется любое из его свойств @Input()
.Это включало создание всех @Input()
свойств Observable.
Я понимаю, что есть обработчик NgOnChanges()
, который можно реализовать для решения этой проблемы, однако он выглядел чрезвычайно хрупким и сложным в обслуживании и расширении из-за его потери
Рефакторинг существующего компонента был трудным и занимал много времени из-за множества предположений, сделанных в определении компонента, однако, когда я понял, что это работает, я понял, что проще использовать Observables для чего-либо из-за гибкостии расширяемость.
То, что я решил после этого упражнения, сделать все @Input()
переменными наблюдаемыми в будущем по умолчанию, так как это, кажется, поощряет хорошие практики и значительно упрощает дальнейшие расширения и т. д.
Что все думают по этому поводу?Это хороший шаблон, чтобы войти в?Почему и почему нет?Перевешивают ли незначительные накладные расходы, которые, как я полагаю, связано с использованием шаблона Observable / / etc?
Спасибо!