尝试访问模板中的异步属性时,我遇到了一个非常简单的问题 - 返回的值始终为null。方法如下:
someAsyncProperty():Observable<string> {
return this._router.events
.filter(event => event instanceof NavigationEnd)
.map(event => 'my value');
}
在我的模板中,{{someAsyncProperty() | async}}
没有任何内容。
在我的模板中,{{(someAsyncProperty() | async) | json}}
呈现为空。
如果我将异步方法改为:
someAsyncProperty():Observable<string> {
return Observable.of(true)
.map(event => 'my value');
}
...模板中的值正确呈现。
我不确定这里的问题是什么。使用async
管道是不可能的路由器事件还是有其他方法可以做到这一点?
答案 0 :(得分:1)
someAsyncProp$:Observable<string>;
constructor() {
this.someAsyncProp$ = this.someAsyncProperty();
}
{{someAsyncProp$ | async}}
否则每次更改检测运行时都会创建一个新订阅(someAsyncProperty()
被调用)。