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;
}
}
以上代码仅供参考。
我想调用一个调用 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;
}
}
以上代码仅供参考。