【发布时间】:2020-06-27 23:46:56
【问题描述】:
我想调用一个调用 REST API 的服务,并使用返回的数据设置一个全局常量变量,然后可以在整个应用程序的组件中访问该变量。我不确定进行此操作的最佳方法。
【问题讨论】:
我想调用一个调用 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;
}
}
以上代码仅作为示例。
【讨论】: