我在Angular2中遇到异步管道问题,当我在*ngFor
中使用它时。
这里有一些代码:
这是模板
<li *ngFor="#obj of _filtersPageState | async">
hello world
</li>
_filtersPageState
变量声明为:
private _filtersPageState: Observable<any> = new Observable<any>();
并使用select
的{{1}}函数初始化它:
@ngrx/store
商店中的this._filtersPageState = store.select('FiltersPageState');
this._filtersPageState.subscribe(v => console.log(v));
对象通过http请求填充,如果我在控制台日志中打印FiltersPageState
对象,我可以看到正确执行了获取请求。
我的问题是,当@ngrx/store
管道放在async
内时,该组件无法加载,我在Chrome控制台中没有错误。
如果我在html模板中写ngFor
,则{{_filtersPageState.value | async}}
的值会正确显示。
我正在玩beta 13
有任何线索或建议吗?谢谢!
修改
我注意到,如果我在模板中写Observable
,同时我写了一个{{_filtersPageState| async}}
(即使这个在没有ngFor
管道的简单数组上循环,我的组件休息(默默地)
修改2
我想在拼图中添加另一个图块。
以下模板打破了组件:
async
如果{{_filtersPageState | async}}
<li *ngFor="#obj of simpleArray">
{{obj}}
</li>
和async
不想在一起,那就好了。(
编辑3
我发现ngFor中没有管道正在工作:
ngFor
在所有四种情况下(也是<h1 *ngFor="#element of filtersPageState|async">{{element}}</h1>
<h1 *ngFor="#element of simpleArray|uppercase">{{element}}</h1>
<h1 *ngFor="#element of simpleArray">{{element|uppercase}}</h1>
<h1 *ngFor="#element of simpleArray|aaaaaaaaa">{{element}}</h1>
是一个非现有的管道),我的组件无法加载而没有错误。
答案 0 :(得分:1)
我解决了这个问题。
我加入了Angular 2的缩小版本,一旦我加入angular2.dev.js,一切都开始有效了。
由于