Angular 角度2:将*ngIf和*ngFor与最后一个未定义项组合执行循环
Angular 角度2:将*ngIf和*ngFor与最后一个未定义项组合执行循环,angular,angular2-template,Angular,Angular2 Template,从'@angular/core'导入{Component}; @组成部分({ 选择器:“我的应用程序”, 模板:` 这是我的值:{{v} 这是我的值:{{v} `, }) 导出类AppComponent{ 公共用户:用户={ 姓名:'约翰', 地址:{ 地址1:‘高街11号’, 邮政编码:“1234” } } myValues=[“一”,“二”,“三]; show=true; 公共存储(格式:IUser,isValid:boolean){ console.log(表单,isValid); }
从'@angular/core'导入{Component};
@组成部分({
选择器:“我的应用程序”,
模板:`
这是我的值:{{v}
这是我的值:{{v}
`,
})
导出类AppComponent{
公共用户:用户={
姓名:'约翰',
地址:{
地址1:‘高街11号’,
邮政编码:“1234”
}
}
myValues=[“一”,“二”,“三];
show=true;
公共存储(格式:IUser,isValid:boolean){
console.log(表单,isValid);
}
}
导出接口用户{
名称:字符串;
地址{
address1?:字符串;
邮政编码?:字符串;
}
}
从这个plunkr中可以看出,第二个*ngFor将执行一次太多
这是一只虫子吗?或者我只是被禁止一起使用*ngFor和*ngIf?我找不到关于此的任何文档。
*ngIf
和*ngFor
不支持同一元素。作为解决方法,您可以使用: 更新(2.0.0)
这是我的值:{{v}
原创
这是我的值:{{v}
*ngIf
和*ngFor
在同一元素上不受支持。作为解决方法,您可以使用: 更新(2.0.0)
这是我的值:{{v}
原创
这是我的值:{{v}
您也可以使用此
<template let-v ngFor [ngForOf]="myValues">
<div *ngIf="show">
This is my value: {{v}}
</div>
</template>
这是我的值:{{v}
您也可以使用此
<template let-v ngFor [ngForOf]="myValues">
<div *ngIf="show">
This is my value: {{v}}
</div>
</template>
这是我的值:{{v}
<template [ngIf]="show">
<div *ngFor="let v of myValues;">
This is my value: {{v}}
</div>
</template>
<template let-v ngFor [ngForOf]="myValues">
<div *ngIf="show">
This is my value: {{v}}
</div>
</template>