Каков наилучший способ обновить компонент несколькими способами из Angular 8? - PullRequest
0 голосов
/ 03 апреля 2020

Допустим, у меня есть компонент 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"}});

И затем подписаться только на это наблюдаемое и сделать требуемая модификация с переключением на тип результата.

Я хотел бы знать, будет ли это лучшим способом? А если есть лучшие практики, связанные?

Большое спасибо!

1 Ответ

1 голос
/ 03 апреля 2020

Я думаю, что вы хотите сделать, это использовать какой-нибудь государственный магазин.

Я предлагаю NGRX или Akita.

Затем вы прочитаете свое имя из одного места и также разрешите изменения из одного места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...