这通常是因为可观察对象没有实际发出新的数据,而仅仅是修改了已经发出的同一个数据对象。可以尝试修改可观察对象以确保新数据被发出。 以下是一个示例,其中在每次点击按钮时,可观察对象都将发出一个新的字符串:
import { Component } from '@angular/core';
import { Observable } from 'rxjs/Observable';
@Component({
selector: 'app-root',
template: `
{{ data$ | async }}
`
})
export class AppComponent {
private data: string = 'Initial data';
data$: Observable = Observable.of(this.data);
constructor() {}
onClick() {
this.data = 'New data'; // 修改 data,但没发出新值
this.data$ = Observable.of(this.data); // 创建一个新的可观察对象,发出新值
}
}