angular2中的全局变量,其值可以更改

Global variable in angular2 whose value can be changed

本文关键字:全局变量 angular2      更新时间:2023-09-26

我在引导使用全局变量时注入了一个服务:

 bootstrap(AppComponent, [ GloablService ]);

global.service.ts

import {Http} from 'angular2/http';
import {Observable} from 'rxjs/Observable';
import {Observer} from 'rxjs/Observer';
import 'rxjs/add/operator/share';
export class GlobalService {
  baseUrl:string;
  constructor() {
    this.baseUrl='http://localhost:8080'; 
  }
  setBaseUrl(url:string) {
    this.baseUrl=url;  
  }
  getBaseUrl() {
    return this.baseUrl;  
  }
}

现在,我已经将这个服务与我的根组件一起引导,并且我能够成功地访问该变量。

但是,每当我更改嵌套组件中变量的值时,更改不会全局反映。

我也试着使用可观察性,但没有用。

有什么建议吗?

不要在任何组件上添加providers: [ GloablService ],否则组件将获得不同的实例。像您那样只在bootstrap()提供一次,或者只在根组件AppComponent提供一次。