angularjs - Angular2 ngFor 产生额外的循环

标签 angularjs typescript angular

我正在尝试在 Angular 2 rc-1 中使用 ngFor,如下所示:

@Component({
    selector: 'myList',
    template: `<h2>Menu</h2>
                {{title}}
                <ul>
                    <li *ngFor="let menu of menus">
                        {{menu }}
                    <li>
                </ul>`
})
export class MenuComponent {
    title:string = "Our lunch menu";
    menus= ["Menu 1", "Menu 2", "Menu 3"];
}

我面临的问题是,它不是生成 3 个项目符号/列表,而是生成 4 个项目符号,最后一个项目符号没有任何文本。

有人知道为什么会发生这种情况或者我是否犯了任何错误?

谢谢

最佳答案

您的代码中有两个错误

1。您还没有导入CORE_DIRECTIVES在你的组件中 正如 @Gunter 在评论中所说,无需导入 CORE_DIRECTIVES因为它们默认作为 PLATFORM_DIRECTIVES 的一部分提供

  • 为什么你的代码生成 3 个项目符号/列表,最终却有 4 个项目符号,最后一个项目符号没有任何文本。因为在您的代码中没有 </li> 的结束标记 所以用这个改变你的代码:-

    <ul>
      <li *ngFor="#menu of menus; #i=index">
       {{menu}} {{i}} {{menus.length}}
      </li>
    </ul>
    
  • 工作示例 Working example

    关于angularjs - Angular2 ngFor 产生额外的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37635856/

    相关文章:

    TypeScript 用于推断接口(interface)实现类中的类型参数

    .net - 带有 .NET Core 的 Angular 2

    angularjs - 将变量传递到 ng-repeat 过滤器

    javascript - 如何在 Angular js 中将样式集成到其他页面?

    javascript - AngularJs 应用程序不能在 chrome 中工作但在其他浏览器中工作

    typescript 扩展枚举

    jquery - 我怎样才能跨越下拉菜单

    typescript - 如何在不求助于 'any' 的情况下键入此函数

    angular - 检测 element.nativeElement Angular 上的滚动事件

    angular - Ionic2 StorageModule/更新列表