Для любого хорошего реанима, я пытаюсь внедрить свой компонент в службу, но я получаю новый экземпляр этого объекта. Я воспроизвести мою проблему с этим кодом:Внесите экземпляр компонента в службу
Этот компонент будет отображать номер экземпляра в h1
:
@Component({
selector: 'my-component',
template: '<h1>Instance number {{count}}</h1>'
})
export class MyComponent {
private static i = 0; /* <-- counts the myComponent's instances here */
private _count: number = i++;
get count(): number {return this._count}
}
служба будет регистрировать номер экземпляра в консоли:
@Injectable()
export class MyService {
constructor(myComponent: MyComponent) {
console.log("Instance number " + myComponent.count);
}
}
Основной компонент вставьте компонент на вид и услугу:
@Component({
selector: 'app-root',
template: '<my-component></my-component>',
})
export class AppComponent {
constructor(service: MyService) {
}
}
Я использую угловой-CLI, мой app.module.ts выглядит:
@NgModule({
declarations: [
AppComponent,
MyComponent
],
imports: [
BrowserModule,
],
providers: [MyComponent, MyService],
bootstrap: [AppComponent]
})
export class AppModule { }
В настоящее время моя консоль отображает Instance number 0
и мой HTML дисплея Instance number 1
. Как я могу получить один и тот же экземпляр?
Спасибо, что прочитал меня
Спасибо за этот реактивный ответ! Я читаю... –