该columns
属性必须是可观察的或承诺(不是数组或其他东西。请参阅Angular2(AsyncPipe
类)的源代码中的这一行:https ://github.com/angular/angular/blob/master/modules/angular2 /src/common/pipes/async_pipe.ts#L109。
例如,在 HTTP 调用的情况下,您需要columns
直接使用返回的 observable 设置属性。将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);
希望它可以帮助你,蒂埃里