<ng-container *privileges="updateName; else readOnlyName">
<input clrInput [(ngModel)]="name" name="name" required/>
</ng-container>
<ng-template #readOnlyName>
<input clrInput [(ngModel)]="name" name="name" required readonly/>
</ng-template>
这是我当前代码的最小示例,其中具有 updateName 权限的用户能够看到可编辑的输入字段。但是正如您所看到的,代码块中的唯一区别是一个属性 readonly
。
有没有办法避免为此使用两个代码块?
我听说 ng-attr-*
可能对此有所帮助,但我不确定它如何与结构指令一起使用。
答案 0 :(得分:0)
如果它们相同,为什么 readonly
属性上的简单条件不合适?
<ng-container *privileges="updateName">
<input clrInput [(ngModel)]="name" name="name" required [readonly]="some_boolean_condition"/>
</ng-container>
OR 把 ng-container
完全放下
<input *ngIf="some_condition_relate_to_privileges_updateName" clrInput [(ngModel)]="name" name="name" required [readonly]="some_boolean_condition"/>