此问题可能是由于不正确的使用Observable或不正确的使用Async Pipe引起的。可以按照以下步骤进行解决:
1.确保在Angualr模块中正确引入了Observable
import { Observable } from 'rxjs/Observable';
2.在组件中声明Observable
import { Observable } from 'rxjs/Observable';
export class MyComponent implements OnInit {
myObservableList$: Observable
ngOnInit() { this.myObservableList$ = this.myService.getList(); } }
3.在组件模板中使用Async Pipe
注意:使用Async Pipe时不需要手动订阅列表。
以下是示例代码:
// my-service.service.ts import { Injectable } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { of } from 'rxjs/observable/of';
@Injectable() export class MyService {
getList(): Observable
}
// my-component.component.ts import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { MyService } from './my-service.service';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponent implements OnInit {
myObservableList$: Observable
constructor(private myService: MyService) {}
ngOnInit() { this.myObservableList$ = this.myService.getList(); }
}
// my-component.component.html
注意:需要在Angualr模块中引入MyService和MyComponent。