我创建了一个共享服务,以便在我的应用中存储全局信息:
import { Injectable } from '@angular/core';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class SharedService {
GLOBAL_WIDTH = 300;
USER_PROFILE : any = {
}
}
然后,我在appModule
声明它:
import { SharedService} from './shared.service';
@NgModule({
providers: [
SharedService,
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
我要做的下一件事是从此服务获取/设置数据。 我目前将SharedService导入到所需的每个组件,并使用构造函数I get / set info:
import { SharedService } from './shared.service';
...
constructor(private sharedService : SharedService) {
this.sharedService.USER_PROFILE = profile;
});
});
}
在另一个组件中使用:
//Inside TopNav
import { SharedService } from '../shared.service';
export class TopNav implements OnInit{
userProfile = this.sharedService.USER_PROFILE;
constructor(
private router: Router,
private sharedService : SharedService) {
}
));
}
...
}
但这对我来说看起来不对,好像我理解正确,我在每个类上实例化SharedService都是这样用的? 它是否一致?