在模板中使用ngxs可观察的select属性

时间:2018-09-07 13:09:14

标签: angular rxjs observable ngxs

我刚刚开始使用Angular 6,因此我对可能是一个非常简单的问题预先表示歉意。我也刚刚开始考虑使用filename = test\web\tests.webpack.jsx 进行状态管理。

在组件的状态中,我有一个ngxs可观察的属性。

@Select

我的问题是,如何在组件模板中实际使用@Select(HomeState.isLoading) isLoading$: Observable<boolean>; ?在模板中使用可观察状态属性的一般模式是什么?我应该订阅observable并将值映射到组件上的另一个属性,还是可以在模板中使用Observable?

当然,如果只是笔直的isLoading,我可以像模板中的boolean一样使用它。

1 个答案:

答案 0 :(得分:2)

使用可观察对象的想法是允许通过使用模板中的“异步”管道来角度管理订阅,否则,如果您自己在某个时候进行操作,则您需要通过取消订阅可观察对象来管理所有订阅。组件被破坏。在您显示的示例中,isLoading变量可在模板上用于显示或隐藏组件的一部分,例如:

<div *ngIf="isLoading$ | async">show loader</div>

在我看来,一个好的模式总是让视图处理订阅!如果您需要转换可观察对象中出现的变量,则始终可以通过管道传递和转换变量。