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