在Angular 2+模板中使用TS Enum Flags

时间:2017-08-30 15:41:08

标签: angular enums angular2-template flags

在Angular中,是否可以在模板中使用TypeScript的Enum Flags?
我被"&"拒绝了?按位运算符。
我怀疑它不可能,只是仔细检查。

export enum Flags {
  Virgin  = 0,
  Loading = 1 << 0,
  Loaded  = 1 << 1,
  Hidden  = 1 << 2,
}
// component.ts
  public flags = Flags;
// component.html
  *ngIf="(userDetailsFlags$ | async) & flags.Loaded"
// Error:
Parser Error: Unexpected token &, expected identifier, keyword, or string at

更新 每个人评论使用&#34;&amp;&amp;&#34;而不是&#34;&amp;&#34;,请阅读this document first 我完全清楚两者之间的区别。

1 个答案:

答案 0 :(得分:1)

在模板中正确使用AND是逻辑运算符双符号&&。 Bitwise不能直接在模板中使用。

*ngIf="(userDetailsFlags$ | async) && flags.Loaded"应该可以解决问题,但如果你想按位应用,你可以在你的组件打字稿中这样做。

此处直接说明按位的文档在模板中不可用:https://angular.io/guide/template-syntax#template-expressions