首页 > 解决方案 > ngIf 不接受包含 javascript 的函数

问题描述

我有一个角度的动态菜单。我有一组允许查看该项目的项目角色。这是项目菜单的代码。

  <a  #itemMenu
    mat-list-item
    [routerLink]="item.path"
    routerLinkActive="active-list-item"
    (click)="onItemSelected(item)"
    *ngIf="item.role.includes(currentRole)">
    <mat-icon mat-list-icon class="material-icons-outlined">{{ item.iconName }}</mat-icon>
    <span>{{ item.displayName }}</span>
</a>

我不知道为什么 *ngIf 中的验证无效:

 *ngIf="item.role.includes(currentRole)"

出现下一个错误:

错误 TS2532:对象可能是“未定义”。

6 *ngIf="item.role.includes(currentRole)"> ~~~~~~~~ 如果我把这个验证放在 ngIf 之外不会产生错误。所以,我认为这段代码完全没有错。我的问题是 ngIf 会发生什么?

<span>{{item.role.includes(currentRole)}}</span>

标签: angularangular-ng-if

解决方案


推荐阅读