Angular: 在服务中声明全局常量

Angular: Declare global constant in service

我想调用一个调用 REST API 的服务,并使用返回的数据设置一个全局常量变量,然后可以在整个应用程序的组件中访问该变量。我不确定进行此操作的最佳方法。

默认情况下,服务是单例(整个应用一个实例),因此您存储在服务中的所有内容都可以共享给应用中的每个组件。

只需将您的服务设为根级别并将其注入其他服务和组件,例如 ..

@Injectable({providedIn: 'root'})
export class MyService {
   data;
   constructor(private http: HttpClient) {
     this.http.get('some-url').subscribe(data => this.data = data);  
   }
}

现在任何组件都可以从根级服务中获取数据。

@Component({
  selector: 'my-component',
  template: '<div>Hello</div>',
})
export class MyComponent {
   myData;
   constructor(private myService: MyService  {
     this.data = this.myService.data;
   }
}

以上代码仅供参考。