У меня есть макет страницы (компонента) в модуле приложения, где я отображаю текст заголовка. У меня есть другой ленивый загруженный модуль, где у меня есть кнопка, при нажатии на которую я меняю текстовое значение.
Я предоставлял сервис только в app.module и вводил его в компонент макета, а также в компонент лениво загруженного модуля.
При нажатии на кнопку я обновляю значение SocietyName службы в компоненте лениво загруженного модуля.
Я попробовал следующий подход:
import { Subject } from 'rxjs/Subject';
@Injectable()
export class DataSharingService {
private societyName = new Subject<string>();
societyNameObservable$ = this.societyName.asObservable();
updateSocietyName(societyName: string) {
this.societyName.next(societyName);
}
}
Подписка не происходит на странице макета.
this.dataSharingService.societyNameObservable$.subscribe(value=>{
console.log(value);
})
Итак, пока я нашел решение для не ленивых загруженных модулей.
Если у кого-то есть идеи, дайте мне знать. Заранее спасибо.
Я хочу изменить название общества по нажатию кнопки переключения . Страница переключения является частью лениво загруженного модуля, а текст Keerthi Gardenia поступает со страницы макета, являющейся частью модуля приложения.
В настоящее время я достигаю этого путем перезагрузки страницы, что не является лучшим вариантом.