Angular ngIf显示/隐藏元素并执行函数
我有一些例子Angular ngIf显示/隐藏元素并执行函数,angular,Angular,我有一些例子 <div *ngIf="nameOfDocx == 'emailTab'" class="tabcontent" #tab2 label="Email"> <details *ngFor="let doc of emaildocuments"> <summary>{{doc.documentGuid}}</summary> <ul *ngFor="let page of doc.Documen
<div *ngIf="nameOfDocx == 'emailTab'" class="tabcontent" #tab2 label="Email">
<details *ngFor="let doc of emaildocuments">
<summary>{{doc.documentGuid}}</summary>
<ul *ngFor="let page of doc.DocumentPages">
<li (click)="pickDoc(page)">{{ page.pageGuid}}</li>
</ul>
</details>
</div>
{{doc.documentGuid}
- {{page.pageGuid}
显示和隐藏DOM元素很好,但我
同时,当varialble等于string时,执行一些函数。有可能吗?例如,某些函数在ngIf为true时向DOM添加元素如下调用您的方法:
{{{yourMethod()}
{{yourMethod()}}
{{doc.documentGuid}
- {{page.pageGuid}
像这样调用您的方法:{{{yourMethod()}
{{yourMethod()}}
{{doc.documentGuid}
- {{page.pageGuid}
您可以像方法一样在*ngIf
中添加任何表达式。在方法中执行您的逻辑
<div *ngIf="myMethod(nameOfDocx)" class="tabcontent" #tab2 label="Email">
<details *ngFor="let doc of emaildocuments">
<summary>{{doc.documentGuid}}</summary>
<ul *ngFor="let page of doc.DocumentPages">
<li (click)="pickDoc(page)">{{ page.pageGuid}}</li>
</ul>
</details>
</div>
您可以在
*ngIf
中添加任何表达式,就像方法一样。在方法中执行您的逻辑
<div *ngIf="myMethod(nameOfDocx)" class="tabcontent" #tab2 label="Email">
<details *ngFor="let doc of emaildocuments">
<summary>{{doc.documentGuid}}</summary>
<ul *ngFor="let page of doc.DocumentPages">
<li (click)="pickDoc(page)">{{ page.pageGuid}}</li>
</ul>
</details>
</div>
Lol你比我快,完全相同的答案:DLol你比我快,完全相同的答案:Dit很好,但我想知道为什么这个方法的执行次数与循环中的元素数一样多foryes,因为它在每次迭代中都被调用,如果你想从模板中调用它,这是唯一的解决方案,否则你可以在它内部创建一个方法,调用
yourMethod
并返回比较结果nameOfDocx=='emailTab'
很好,但我想知道为什么这个方法的执行次数与循环中的元素数一样多,因为它在每次迭代中都会被调用,如果你想从模板中调用它,这是唯一的解决方案,否则你可以创建一个方法,在它里面,调用yourMethod
并返回比较结果nameOfDocx==“emailTab”
myMethod(nameOfDocx){
// some logic
return nameOfDocx == 'emailTab'
}