Почему представление не обновляется при изменении переменной в подписке?
У меня есть этот код:
example.component.ts
testVariable: string;
ngOnInit() {
this.testVariable = 'foo';
this.someService.someObservable.subscribe(
() => console.log('success'),
(error) => console.log('error', error),
() => {
this.testVariable += '-bar';
console.log('completed', this.testVariable);
// prints: foo-Hello-bar
}
);
this.testVariable += '-Hello';
}
example.component.html
{{testVariable}}
Но отображается представление: foo-Hello.
Почему он не будет отображаться: foo-Hello-bar?
Если я вызову ChangeDetectorRef.detectChanges()
в подписке, он отобразит правильное значение, но зачем мне это делать?
Я не должен называть этот метод из каждой подписки, или вообще (угловой должен справиться с этим). Правильно ли?
Я что-то пропустил в обновлении от Angular/rxjs 5 до 6?
Прямо сейчас у меня есть угловая версия 6.0.2 и rxjs 6.0.0. Тот же код работает нормально в Angular 5.2 и rxjs 5.5.10 без необходимости вызова detectChanges
.