(Klick) innerhalb von * ngFür Elemente vom Typ Array, wenn sie von einer Funktion stammen

im plnkr Ich habe einen merkwürdigen Randfall reproduziert. Es hängt wahrscheinlich von Pixijs oder Webgl ab, wie es bei der Verwendung von Pixijs der Fall ist.

Beachten Sie, wie Sie auf alle Elemente der Listen klicken können. Sobald Sie jedoch mit der Verwendung von Pixijs beginnen (klicken Sie einfach auf die Schaltfläche), funktioniert der Klick nicht mehr auf dem Element des Typs Array. Dasseltsa Ding ist, dass es immer noch auf allen anderen Elementen funktioniert. Es isteven odder dass, wenn anstelle einer Funktion zur Rückgabe eines Arrays ein Inline-Array verwendet wird, alles wie erwartet funktioniert ...

irgendwelche Ideen

app.component.ts

<button *ngIf="!renderer" (click)="breakIt()">break me</button> 
<span *ngIf="renderer">BROKEN</span>
Clicked: {{clicked | json}}

<h2>It breaks</h2>
<h3 *ngFor="#n of ns()" (click)="click(n)">{{n | json}}</h3>

<h2>It works</h2>
<h3 *ngFor="#n of [[2,4],'ciao',4,true]" (click)="click(n)">{{n | json}}</h3>

app.component.html

import {Component} from 'angular2/core';

@Component({
    selector: 'my-app',
    templateUrl: './app/app.component.html'
})
export class AppComponent { 
  clicked = "";
  renderer;

  breakIt() {
    this.renderer = PIXI.autoDetectRenderer(200, 200,{backgroundColor : 0x1099bb});
  }

  ns() {
    return [[2,4],'ciao',4,true];
  }

  click(n) {
    this.clicked=n;  
  }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage