我想在Angular HTML中使用一个字符串来评估我的ngIf
:
ts:
stringToEval:string = "element.users.length > 0"
elements: Element[] = [
{
name: 'name1',
users: []
},{
name: 'name2',
users: [
user: 'user1',
user: 'user2'
]
}];
html:
<ng-container *ngFor="let element of elements;">
<div *ngIf="!stringToEval">
element.users is empty
</div>
<div *ngIf="stringToEval">
element.users has element
</div>
</ng-container>
也许管道是我需要做的?但是可以在ngIf
中调用管道吗?我试过了它就崩溃了。
答案 0 :(得分:0)
你需要一个布尔值。让我用非常简单的代码解释你。
VAL:布尔;
if(element.users.length > 0) {
val = true;
} else val = false;
并在HTML中,您可以检查它:
<div *ngIf="val">Hello</div>
如果val为真,它将呈现Hello,如果它为false,则它将不会显示它。
答案 1 :(得分:0)
您可以这样评估:
<div *ngIf="element.users.length">
element.users is empty
</div>
<div *ngIf="!element.users.length">
element.users has element
</div>