Angular2-*ngFor和*ngIf在同一个元素上产生错误
Angular2 - *ngFor and *ngIf on same element producing error
我有一个用户数组,我想在表上只显示男性用户。以下是我如何努力实现这一目标:
import {Component} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
@Component({
selector: 'app',
template:`
<table>
<tbody>
<tr *ngFor="#user of users" *ngIf="user.gender == 'male' " >
<td>{{user.name}}</td>
<td>{{user.gender}}</td>
</tr>
</tbody>
</table>
`
})
export class AppCmp{
public users = [
{
name: "Eesa",
gender: "male"
},
{
name: "Abdullah",
gender: "male"
},
{
name: "Javeria",
gender: "female"
}
]
}
bootstrap(AppCmp);
但我得到了以下错误:
异常:TypeError:无法读取未定义的属性"gender"
正如你所看到的,我在同一个元素上使用*ngFor和*ngIf,即tr
。为什么我不能在同一个元素上使用*ngFor和*ngIf?还有其他方法可以做到这一点吗?我在plunker上重新生成了这个问题,你可以在控制台上看到错误。
事实上,同一元素上不支持ngIf和ngFor。您可以使用ngIf
的扩展语法来实现这一点:
初始版本:
<tr *ngFor="#user of users">
<template [ngIf]="user.gender == 'male'">
<td>{{user.name}}</td>
<td>{{user.gender}}</td>
</template>
</tr>
使用最新的Angular选择器更新了版本。
<ng-container *ngFor="let user of users">
<tr *ngIf="user.gender == 'male'">
<td>{{user.name}}</td>
<td>{{user.gender}}</td>
</tr>
</ng-container>
相关文章:
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 未捕获错误:元素缓存中id为x的DOM元素与DOM中的元素不同
- 角度多选下拉框给出错误元素.多选不是一个函数
- 聚焦和模糊错误元素触发的事件
- 错误:“元素当前不可见,因此可能无法与硒交互”
- 数组拼接删除了 AngularJS 中的错误元素
- 木偶嵌套布局视图未呈现,显示错误“元素必须存在于 DOM 中”
- materializecss 日期选择器量角器(错误:元素在点处不可单击)
- 失败:未知错误:元素在点(x,x)-角度/量角器处不可单击
- JSON级别()错误:元素列表后缺少]
- 如何不允许生成错误元素
- 使用HTML5
- Javascript错误:元素为空
- 针对错误元素的更改事件激发的JQuery
- IE 8 错误?元素卡入到位
- 来自 W3C 验证程序的错误“元素脚本不得具有属性延迟,除非还指定了属性 src”
- 错误:元素类型“uses-permission”后面必须跟属性规范“>”或“/>”
- 自动完成不工作,抛出错误元素.自动补全不是一个功能
- Jquery验证插件.没有使用远程规则删除错误元素(所有元素都可以在没有远程规则的情况下工作)
- 类在第一次检查时没有被添加到错误元素中,但是当字段再次被检查时一切正常(jquery验证插件)