2017-06-03 4 views
0

Hallo Leute, ich möchte das Element, das Unschärfe zu implementieren.angular2 Komponent div Unschärfe

Daher setze ich die div in meinem Code. Das (click) Attribut wird mit der Variablen choose gesetzt.

Code

public data:any[]=[1,2,3,4]; 
public choose:number; 
public setChoose(index:number){ 
    this.choose=index; 
} 

Mops

div#mydiv(*ngFor="let item of data;let i = index") 
    div((click)="setChoose(i)",[style.choose]="choose==i") {{item}} 

css

div{ 
    background:white; 
} 
.choose{ 
    background:yellow; 
} 

Jetzt erreichen ich die wählen, wählen, wie es scheint lo ok wie focus.Aber wenn ich Blur-Effekt einstellen möchte, ist blur klar choose, dass die Klasse von wählen entfernt wird, verwende ich @ HostListener("window:click") und habe die $event während ausgelöst Clickereignis.Leider wird Ereignis nicht verwischen oder nicht von meinem Funktion.

Ich hoffe, dass der Host mydiv und außerhalb separat erkennen kann, Fokus und Unschärfe zu erfüllen.

Irgendwelche Ideen?

Antwort

0

Sie einen Fehler gemacht, you'r Stil statt Klasse mit

div((click)="setChoose(i)",[style.choose]="choose==i") {{item}} 


div((click)="setChoose(i)",[class.choose]="choose==i") {{item}} 
+0

Sie meinen meaing falsch verstanden, ich verwirre nur Fokus und Unschärfe. Jetzt wurde das Problem durch tabindex behoben, welches das 'div' auswählbar ist. –