angular 2: Durch Kombinieren von * ngIf und * ngFor wird die Schleife mit einem letzten undefinierten Element @ ausgeführ
http: //plnkr.co/edit/ihdAJuUcyOj5Ze93BwIQ? p = preview
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<div class="container">
<div *ngFor="let v of myValues;">
This is my value: {{v}}
</div>
<hr>
<div *ngIf="show" *ngFor="let v of myValues;">
This is my value: {{v}}
</div>
`,
})
export class AppComponent {
public user: User = {
name: 'John',
address: {
address1: '11, High Street',
postcode: '1234'
}
}
myValues = ['one','two','three'];
show = true;
public save(form: IUser, isValid: boolean) {
console.log(form, isValid);
}
}
export interface User {
name: string;
address?: {
address1?: string;
postcode?: string;
}
}
Wie in diesem Beispiel zu sehen ist, wird der zweite * ngFor zu oft ausgeführt.
Now ist das ein Bug? Oder ist es mir nur verboten, * ngFor und * ngIf zusammen zu benutzen? Ich konnte dazu keine Dokumentation finden.