簡體   English   中英

使用異步管道,angular2無法正常工作

[英]using async pipe with angular2 not working

每當我使用異步管道時,我都會遇到控制台錯誤。

   <component *ngFor="#c of columns | async" [column]="c"></component>

我收到此控制台錯誤:

EXCEPTION:[columns |中的管道'AsyncPipe'的參數'[object Object]'無效 在Projects @ 1:51中的異步] browser_adapter.js:76 EXCEPTION:[columns |'|'|'| | | | | | | | | Projects @ 1:51中的異步]

有什么遺失的嗎?

columns屬性必須是observable或promise(不是數組或其他東西。請參閱Angular2( AsyncPipe類)源代碼中的這一行: https//github.com/angular/angular/blob/master/modules /angular2/src/common/pipes/async_pipe.ts#L109

例如,在HTTP調用的情況下,您需要直接使用返回的observable設置columns屬性。 async將負責處理它,即調用它的subscribe方法,處理它。 這是一個示例:

this.columns = 
   this.http.get('https://angular2.apispark.net/v1/companies/', {
     headers: headers
   }).map(res => res.json());

而不是從您自己管理的訂閱方法設置`columns屬性:

this.http.get('https://angular2.apispark.net/v1/companies/', {
  headers: headers
})
.map(res => res.json())
.subscribe(data => this.columns = data);

希望它對你有幫助,蒂埃里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM