Если я сделаю что-то вроде этого:
component. html
<input type="button" (click)="emit()">Click to start emitting!</input>
{{decimalNumber | number:'1.1-1'}}
component.ts
ngOnInit(): void {
this.myService.decimalNumberEmitter$.subscribe(value => {
console.log('New value is', value);
this.decimalNumber = value;
});
}
emit(){
this.myService.startEmitting();
}
myService.service.ts
decimalNumberEmitter$ = new BehaviorSubject<number>(0.0);
startEmitting() {
for (let index = 1; index < 11; index++) {
this.decimalNumberEmitter$.next(index / 10);
}
}
После выполнения предыдущего кода журналы консоли:
Новое значение: 0
Новое значение равно 0,1
...
Новое значение: 1
Однако переменная (decimalNumber) вообще не обновляется. Его значение равно 0,0.
Я пробовал сделать что-то вроде следующего в моем компоненте html, но безуспешно:
{{this.myService.decimalNumberEmitter$ | async }}
Также я пытался вручную определить изменение, но безуспешно а также - что-то вроде следующего:
constructor(private cd: ChangeDetectorRef) {}
...
... .subscribe( () => {
[my code]
this.cd.markForCheck();
}
Кто-нибудь может пролить свет на это ?? Заранее благодарим за любую помощь!