有没有办法将管道的结果保存在Angular 2中的模板输入变量中?
我非常喜欢有没有办法将管道的结果保存在Angular 2中的模板输入变量中?,angular,Angular,我非常喜欢*ngFor指令的语法。 可以迭代数组的所有元素 我想用一根管子来达到同样的效果。例如async管道。 当将async管道放在我的模板中的任何地方,我使用了一个可观察结果的属性时,我有很多订阅正在进行,我的模板被类似{(someobserveable$|async)?.propertyName}的东西弄得乱七八糟。 有没有一种方法可以像这样简单地将管道的当前结果绑定到模板输入变量 <div let="currentValue = someObservable$ | async"&
*ngFor
指令的语法。
可以迭代数组的所有元素
我想用一根管子来达到同样的效果。例如async
管道。
当将async
管道放在我的模板中的任何地方,我使用了一个可观察结果的属性时,我有很多订阅正在进行,我的模板被类似{(someobserveable$|async)?.propertyName}
的东西弄得乱七八糟。
有没有一种方法可以像这样简单地将管道的当前结果绑定到模板输入变量
<div let="currentValue = someObservable$ | async">
{{currentValue?.foo}}, {{currentValue?.bar}}
...
</div>
支持这一点还有一个悬而未决的问题 目前,可以分配给模板变量的内容非常有限
- 对添加标记的元素或组件的引用
likeexportAs
中的ngFor
,以及其他指令中类似的预定义变量let i=index
<div *ngIf="userObservable | async; else loading; let user">
Hello {{user.last}}, {{user.first}}!
</div>
<template #loading>Waiting...</template>
你好{{user.last},{{user.first}!
等待。。。
谢谢您的快速回答!我对解决方案的关注点是性能(请参阅),以及我始终必须实现
OnDestroy
接口才能再次取消对observable的订阅。为完全相同的问题寻找解决方案。。希望将来有可能。。
<div *ngIf="userObservable | async; else loading; let user">
Hello {{user.last}}, {{user.first}}!
</div>
<template #loading>Waiting...</template>