【发布时间】:2016-08-14 01:31:16
【问题描述】:
我正在使用@ngrx/store,我正在从商店中获取状态的一部分。
我有一个想要显示该切片的组件。但是,由于模板中存在{{ obs$ | async}},因此不会呈现整个模板。如果我删除了{{ obs$ | async }},则呈现SLICE:。
知道为什么会出现这种情况或如何诊断问题吗? JS 控制台没有显示任何错误。
@Component({
selector: 'slice',
template: `SLICE: {{ obs$ | async }}
})
export class Slice {
obs$: Observable<any>
constructor(private store:Store<any>) {
this.obs$ = this.store.select(s => s.slice);
}
}
【问题讨论】:
-
我发布了我的(现已删除)答案,却没有注意到您说控制台中没有任何错误 - 这不是真的,或者您确实有@ 987654326@ 在您的组件元数据中,否则您使用未导入的管道肯定会抛出......
-
我添加了
pipes: [AsyncPipe],但无济于事。控制台绝对不会显示任何错误。这可能是由于一些不相关的事情,它以这种方式表现出来。 -
宾果游戏。除非
AsyncPipe现在在全球范围内可用(对我来说这将是新闻),否则应该在没有导入的情况下抛出,如果不是,那么某处的某些地方是非常错误的。作为健全性检查,请尝试在模板中将obs$ | async替换为obs$ | gibberish,看看是否会抛出 -
更新:我该死,看来他们已经让
AsyncPipe全球可用,所以请忽略上述内容。在这种情况下,要调试它。在您的组件构造函数中订阅obs$并在订阅中记录每个值 -
你能展示你的方法的一个版本吗?