*ng对于ng-template输出没有Angular2

Syn*_*ose 37 angular

不知道为什么我的*ngFor循环没有打印出来.我在html文件中有以下代码:

<table class="table table-hover">
    <thead>
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Company</th>
            <th>Status</th>
        </tr>
    </thead>
    <tbody>
        <!-- NGFOR ATTEMPTED HERE -- no content printed -->
        <ng-template *ngFor="let xb of tempData">
            <tr data-toggle="collapse" data-target="#demo1" class="accordion-toggle">
                <td>{{ xb.name }}</td>
                <td>{{ xb.email }}</td>
                <td>{{ xb.company }}</td>
                <td>{{ xb.status }}</td>
            </tr>
            <!-- other content -->
        </ng-template>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

然后,在我的简单组件中,我有以下内容:

import { Component }        from '@angular/core';

@Component({
    selector: 'my-profile-exhibitors',
    templateUrl: './profile-exhibitors.component.html',
    styleUrls: ['./profile-exhibitors.component.scss']
})
export class ProfileExhibitorsComponent {
    public tempData: any = [
        {
            'name': 'name1',
            'email': 'email1@gmail',
            'company': 'company',
            'status': 'Complete'
        },
        {
            'name': 'name2',
            'email': 'email2@gmail',
            'company': 'company',
            'status': 'Incomplete'
        }
    ];
    constructor() {}
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到零输出.甚至更奇怪的是,当我使用调试工具选择元素时,我看到:

在此输入图像描述

看起来它正确识别我的对象,但后来什么也没输出.

Gün*_*uer 79

我想你想要的是什么

<ng-container *ngFor="let xb of tempData">
Run Code Online (Sandbox Code Playgroud)

要么

<ng-template ngFor let-xb [ngForOf]="tempData">
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!设计"ng-template"语法的人需要在火刑柱上烧掉 (29认同)
  • 他们用ng-container做出了明智的决定.这种语法非常不直观. (3认同)
  • 不知道你在抱怨什么。这是正常的 Angular 模板语法。他们引入了 `&lt;ng-container&gt;` 以便能够在 `&lt;template&gt;` 元素上使用更简洁、更常见的 `*xxx` 语法。 (2认同)
  • 很好的答案,解决了我的问题。ng-template 语法没有任何意义,并且与 anguaar 中的其他任何内容完全不一致-让-xb 生成一个名为 xb 的变量?卧槽? (2认同)

SUS*_*LAL 8

也为了获取索引:<ng-template ngFor let-xb [ngForOf]="tempData" let-index="index">