我在app模块中有一个布局页面(组件),我在其中显示标题文本。我有另一个懒惰加载的模块,我点击按钮,我正在更改文本值。
我只在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 文本来自布局页面,这是app模块的一部分。 目前我通过页面重新加载来实现这一目标,这不是最佳选择。
答案 0 :(得分:1)
这对你有用吗?
export class DataSharingService {
private societyName = new Subject<string>();
updatedSocietyValue() {
return this.societyName.asObservable();
}
updateSocietyName(societyName: string) {
this.societyName.next(societyName);
}
}
布局页面
this.dataSharingService.updatedSocietyValue().subscribe(value=>{
console.log(value);
})