我有这个代码
(selectCurrentErrorCode$ | async) || data.isError ? 'error' : 'no error'
有时我需要从状态(Observable(检查异步错误,有时我想直接传递错误(data.isError(。但在这个例子中,Observable不起的作用
我怎样才能解决这个案子?
我试着做了两个单独的方块,但看起来不太好
我建议简单地构建一个完成所有工作的辅助Observable:
this.errorText$ = this.selectCurrentErrorCode$.pipe(
map(errorCode => errorCode || this.data.isError ? 'error' : 'no error')
);
在模板中,您只需使用
<element *ngIf="errorText$ | async"></element>
混合和匹配Observables和静态变量是不好的做法,尤其是在模板中。此外,不要像一位评论者建议的那样使用函数,因为它将在每个变化检测周期中被调用。非常糟糕的做法。