Observables/Subjects是一种方式。您将Subject在服务中拥有一个,并使用.next(value)它来交换价值。每个对该值感兴趣的组件都可以订阅该主题。示例:(取自RxJS 文档//your Serviceimport { Subject } from 'rxjs';const subject = new Subject<number>();//Component A (and others as well)service.subject.subscribe({ next: (num) => console.log(num)});//this should work as well with prettier syntax:service.subject.subscribe(sum => console.log(num));//Component Bservice.subject.next(7) //passing number 7 to Component A每当您创建订阅时,请务必始终取消订阅!否则,您最终可能会收到成堆的订阅,这些订阅将在同一个组件中同时触发。根据个人经验,如果可能的话,我发现将任何可以被视为全局的函数和变量外包到专用服务中更有帮助。如果您直接从您的组件中读取服务的变量(并在必要时修改它们),您将获得相同的效果。只要您保持适当的服务结构,这就会起作用。全球使用的专用服务的一些示例是:翻译 ( TranslationService)权限管理 ( PermissionService)