У меня есть три компонента. рецепт, пункт рецепта и детали рецепта. При щелчке по рецепту из компонента элемента рецепта отображаются сведения о рецепте этого конкретного рецепта (т. Е. Активируется компонент рецепта).
У меня есть один общий сервис - рецепт-сервис. Который я думаю использовать его для связи между всеми компонентами.
Подход 1: Когда я нажимаю на рецепт из пункта рецепта, я вызываю функцию, которая будет указывать на другую функцию в службе рецептов, которая, в свою очередь, помечает переменную currentRecipe как пройденный клик рецепт. из рецепта Это значение currentRecipe я получу в компонентах recipe / recipe-details через ngOnInit для отображения деталей. Будет ли этот подход работать? изменится ли представление при изменении переменной в сервисе? Я сомневаюсь в таком подходе, так как ngOnInit проверяет только при запуске компонента.
Подход 2: Когда я нажимаю на рецепт из элемента рецепта, я вызываю функцию, которая запускает источник событий, который был объявлен в сервисе, но испускает currentRecipe непосредственно из элемента рецепта. составная часть. И я подпишусь на это событие из ngOnInit компонентов рецепта и детали рецепта, чтобы отобразить детали.
Я новичок, и я запутался между двумя подходами. Я попробовал первый подход, который не сработал. Второй подход работает. Я не уверен, почему первый подход не сработал. В каком сценарии я должен использовать первый подход, и в каком сценарии я должен использовать второй подход?
Спасибо за помощь!