0
得到了问题 - 我需要为不同的模块获得不同的服务实例,但是如果我是模块中的共享服务,为我的所有模块获得服务的一个实例。Angular 2 - 每个模块的唯一服务实例
@NgModule({
imports: [ BrowserModule ],
declarations: [ AppComponent, ServiceComponent, Service2Component ],
bootstrap: [ AppComponent ],
providers: [ UserService ]
})
export class AppModule { }
所以,如果我在这里是用供应商,或以下组件的模块之一 - 的ServiceComponent,Service2Component - 我得到UserService的一个实例。
我可以得到唯一的实例只有当使用在所有@Components此服务而无需将其定义模块,这样
@Component({
selector: 'service2test',
template: `<h1>Hello, {{user}}.<br>ServiceComponentValue: {{value}}</h1>`,
providers: [ UserService ]
})
我的问题是 - 模块可以定义服务,并获得独特的价值每个模块?
服务,我用于测试:
import {Injectable} from "@angular/core";
@Injectable()
export class UserService {
userName = 'Sherlock Holmes';
value: number;
constructor() {
this.value = Math.random()*100;
}
}