@Component({
selector: 'app-overview-travel',
templateUrl: './overview-travel.component.html',
styleUrls: ['./overview-travel.component.scss'],
providers: [TravelService]
})
上面的代码阻止了我的共享数据服务(使用 RXJS 的行为主题)中的数据被正确共享。
@Component({
selector: 'app-overview-travel',
templateUrl: './overview-travel.component.html',
styleUrls: ['./overview-travel.component.scss']
})
但是,当我删除providers:[TravelService]
时,数据共享服务工作正常..我很想知道为什么?
提前致谢!
最佳答案
您的第一个版本会阻止数据共享,因为您正在为组件及其子组件提供 TravelService
的新实例。因此,每个 OverviewTravel
组件都有自己的 TravelService
实例,其他组件无法访问该实例。
有关更多详细信息,请参阅docs .
关于angular - 为什么组件中的 ', providers: [TravelService] ' 会阻止 RXJS 行为主体跨组件共享数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59635376/