使用Angular 8,我有两个组件:
@Component({ selector: 'a' })
export class A_Component {
constructor(dataService: DataService) { }
}
@Component({ selector: 'b' })
export class B_Component {
constructor(dataService: DataService) { }
}
DataService如下:
export class DataService {
public getValue(): Observable<number> { }
public setValue(value: number) { }
}
组件A和B使用DataService来交流它们的子(子代...)组件。
但是我希望每个组件A和B都有自己的DataService实例。
该怎么做?
答案 0 :(得分:3)
以这种方式使用
@Component({ selector: 'a',
providers: [DataService]
})
export class A_Component {
constructor(dataService: DataService) { }
}
@Component({ selector: 'b',
providers: [DataService]
})
export class B_Component {
constructor(dataService: DataService) { }
}
答案 1 :(得分:0)
将此添加到您的DataService
@Injectable({
providedIn: 'root'
})export class DataService { ...