这是我的html代码段:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell1", for: indexPath) as? FirstCell
cell?.initData(name: datalist1[indexPath.row])
return cell!
}
else {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell2", for: indexPath) as? SecondCell
cell?.initData(lbl: datalist2[indexPath.row])
return cell!
}
}
不过,我需要根据布尔组件字段设置按钮tet:
<button class="btn btn-primary">
<i class="fa fa-edit" aria-hidden="true"></i>
{{'ui.button.edit.text' | translate}}
</button>
所以,我需要:
@Component({...})
export class UserManagementComponent {
@Input('user')
public set user(user: AdministrationUser) {
this._user = user;
};
private get toCreate(): boolean {
return this._user.id === null;
}
}
为真,则按钮文本为this.toCreate
,{{ui.button.save.text | translate}}
有什么想法吗?
答案 0 :(得分:2)
您可以在此处使用简单的三元运算符
{{ (toCreate ? 'ui.button.save.text' : 'ui.button.edit.text') | translate }}
从您的媒体资源中删除私人修饰符,因为它可能会导致产品构建中的构建问题
答案 1 :(得分:1)
您可以通过多种方式进行操作,我在这里列出了其中两种。
<button class="btn btn-primary">
<i class="fa fa-edit" aria-hidden="true"></i>
<span *ngIf="toCreate()">{{'ui.button.save.text' | translate}}</span>
<span *ngIf="!toCreate()">{{'ui.button.edit.text' | translate}}</span>
</button>
或者
<button *ngIf="toCreate()" class="btn btn-primary">
<i class="fa fa-edit" aria-hidden="true"></i>
{{'ui.button.save.text' | translate}}
</button>
<button *ngIf="!toCreate()" class="btn btn-primary">
<i class="fa fa-edit" aria-hidden="true"></i>
{{'ui.button.edit.text' | translate}}
</button>