在Angular 2应用程序中使用Observable时出现异步管道错误

时间:2017-03-07 22:05:15

标签: javascript angular asynchronous typescript

我在我的Angular 2应用程序中有分页工作,但遇到了一个问题,我收到了错误:异步管道:

  

管道'AsyncPipe'

的参数''无效

在研究中我已经完成了:这个错误,它通常与异步管道需要一个可观察的事实有关。这让我感到困惑,因为我使用了一个可观察的,所以我不确定问题是什么。

首先,这是我的相关观点代码:

...

@RenderBody()

<script src="Scripts/jquery-3.1.1.js"></script>
<script src="Scripts/modernizr-2.8.3.js"></script>
<script src="Scripts/bootstrap.js"></script>
<script src="Scripts/respond.js"></script>
<script src="Scripts/lightbox.min.js"></script>

@RenderSection("Scripts")

</body>
</html>

此组件使用来自另一个组件的Input(),如下所示:

<tr *ngFor="let record of records | async | paginate: { id: 'stream', itemsPerPage: 15, currentPage: page, totalItems: total }">

这是来自其他组件的“记录”,这是一个可观察的我正在订阅OnInit:

@Input() records = [];

我在这里缺少什么?我是否需要在某处明确地将其声明为类型observable?

1 个答案:

答案 0 :(得分:4)

异步管道需要一个可观察的数据,而不是已解析的数据。

ngOnInit() {
   this.records = this.streamService.getByStage('section1');
}