【发布时间】:2021-07-19 13:28:43
【问题描述】:
我正在使用 angular 12。这是 angular html 代码。
<ul id="respMenu" class="horizontal-menu">
<ng-container *ngFor="let menuItem of menuItems; let i = index">
<ng-container *ngIf="IsAllowed(['admin','user'])">
<li>
<a>
<span class="title">{{menuItem.title}}</span>
</a>
</li>
</ng-container>
</ng-container>
</ul>
我正在调用这个方法 show hide my li
IsAllowed(allowedRoles){
console.log("test");
for (var i = 0; i < userRoles.length; i++) {
if(allowedRoles.includes(userRoles[i])){
return true;
}
}
}
但它会像数千次一样控制测试文本。为什么会这样,请建议我更好的方法。我有 8 个菜单项,它在 UI 中显示 8 个,但控制台多次。
IsAllowed Method 参数将动态加载,并且每个项目都不同。
【问题讨论】:
-
你有多少个菜单项?
-
我有 8 个菜单项
-
这能回答你的问题吗:stackoverflow.com/questions/43081810/…
-
您对 IsAllowed() 方法有什么期望。您可以分享该方法的实际代码吗?
-
我想添加一些条件,比如如果它是管理员返回 true 否则为 false
标签: angular typescript ngfor angular-ng-if