Допустим, у меня есть компонент A, который отображает список имен.
Я хочу иметь возможность обновлять эти имена из компонентов B, C, D и E (которые не являются ни родителями, ни детьми, ни братьями и сестрами A). И я хочу обновить имена несколькими способами: я хочу иметь возможность изменить имя, поставить имя в верхнем регистре, добавить префикс к имени, изменить цвет ...
I знаю, что я могу сделать это с помощью службы и одной наблюдаемой для каждого типа обновления, а затем вызвать
myService.myUpdateTypeObservable$.next(myNewValue);
и затем подписаться на все наблюдаемые из моего компонента А.
Но я хочу создать систему, которая была бы масштабируемой, и, возможно, однажды у меня будет 10 новых компонентов, обновляющих имена 10 новыми способами. Таким образом, я думаю, что лучше всего создать глобальное наблюдаемое обновление, а затем из компонентов B, C, DE вызвать что-то вроде:
myService.myGlobalUpdateObservable$.next({type: 'name-color-update', value: {newColor: "#123456"}});
И затем подписаться только на это наблюдаемое и сделать требуемая модификация с переключением на тип результата.
Я хотел бы знать, будет ли это лучшим способом? А если есть лучшие практики, связанные?
Большое спасибо!