私はそのように見ている権限の配列を持っている:コンポーネントのコンストラクタでAOTコンプライアンスチェック/ TSコンパイラを角のコードでトリックする方法は?
permissions={
view: "permissionName1",
create: "permissionName2"
}
あなたが持っているか、許可を与えられていない場合、私は向いてブール値に許可名を変換する方法を持っているので、その結果、実行時の権限は次のようになります。 。
permissions={
view: true,
create: false
}
私はこのようなテンプレートで許可を使用する必要がある場合、それだけで正常に動作します:私は
<ng-template *ngIf="someSortOfCondition && permissions.view"> </ng-template>
のような場合は、複数の条件で許可を使用する場合
<ng-template *ngIf="permissions.view"> </ng-template>
問題はhovewerをoccuresその
言っAOTでコンパイルするとき、これは私にエラーを与えますタイプ 'string'はタイプ 'boolean'に割り当てられません。
私はそれがかもしれせない正確なエラーmessage.Itがコンパイル時にpermissions.view
は確かに文字列であるので、私は、この条件式のbooleanとして文字列を使用することは明らかである私の記憶からこれを書いた - それはありますアクセス権の名前ではなく、値です。
AOTアナライザを頼りにして、その特定のケースを無視する方法はありますか?パーミッションはコンストラクタで初期化されます。
あなたは '&& !! permissions.view'を試みたことがありますか? – yurzui
@yurzui私はgithubでそれを見て、それをチェックします! https://github.com/angular/angular/issues/11425 – Antoniossss