我过去常常使用as" as"在Angular HTML模板中,以避免复制可观察的订阅,如下所示:
<component *ngIf="(selected$ | async) as selected"></component>
那么我可以使用&#34;选择&#34;模板中的任何其他位置。
但是如果我尝试像这样使用它,在输入中:
<component [param]="(selected$ | async) as selected"></component>
我收到错误:
Unexpected token 'as' at column 21 in [categories$ | async as categories]
知道为什么吗? 谢谢!
答案 0 :(得分:5)
这是正确的,as
语法特定于*ngIf
。它不是您可以在Angular模板中的任何位置使用的通用关键字。
请参阅https://angular.io/api/common/NgIf并搜索NgIfAs
课程。
答案 1 :(得分:2)
正如马丁所说,MemoryStream
语法特定于as
。但您可以使用*ngIf
来获得所需的结果:
ng-container