使用Angular 8,我有两个组件:
@Component({ selector: 'a' })
export class A_Component {
constructor(dataService: DataService) { }
}
@Component({ selector: 'b' })
export class B_Component {
constructor(dataService: DataService) { }
}
数据服务如下:
export class DataService {
public getValue(): Observable<number> { }
public setValue(value: number) { }
}
组件A和B使用DataService来交流它们的子组件(孙子组件,...)。
但是我希望每个组件A和B都有自己的DataService实例。
这个怎么做?
最佳答案
以这种方式使用
@Component({ selector: 'a',
providers: [DataService]
})
export class A_Component {
constructor(dataService: DataService) { }
}
@Component({ selector: 'b',
providers: [DataService]
})
export class B_Component {
constructor(dataService: DataService) { }
}