【问题标题】:angular6 - infinite loop running when i call method from a Angular 6 class inside templateangular6 - 当我从模板内的 Angular 6 类调用方法时,无限循环运行
【发布时间】:2019-04-17 11:48:24
【问题描述】:

当我尝试使用 *ngFor 循环中的方法绑定名称时,我的 Angular 6 项目上正在运行无限循环。为什么会发生这种情况?并请推荐一个解决方案。谢谢...

<div *ngFor="let menu of MenuList"> 
     <span>{{bindMenuNames(menu.FullNameSpace)}}</span> 
  </div>

 bindMenuNames(FullNameSpace): string 
  {
        console.log(FullNameSpace);
        let menuname: string;
        switch (FullNameSpace)
        {
            case "Message_Centrel":
                menuname = "Messaging";
                break;

            case "Admin":
                menuname = "Admin"
                break;
            case "Catalog":
                menuname = "Course Authoring"
                break;
           default:
                menuname = ""
                break;
        }
       return menuname;
    }

【问题讨论】:

  • 代码看起来不错,你能检查一下 MenuList 的长度吗?
  • 是的,您可以使用这一行来检查菜单列表的长度 >>> *ngIf="MenuList ?.length > 0"

标签: angular6 bind ngfor infinity


【解决方案1】:

在 ts 文件中:

public obj = {'Message_Centrel': 'Messaging', 'Admin': 'Admin', 'Catalog': 
             'Course Authoring'}

在 html 文件中:

<div *ngFor="let menu of MenuList"> 
 <span>{{obj[menu.FullNameSpace] ? obj[menu.FullNameSpace] : '-'}}</span> 
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 2016-11-17
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    相关资源
    最近更新 更多