Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度2:将*ngIf和*ngFor与最后一个未定义项组合执行循环_Angular_Angular2 Template - Fatal编程技术网

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>