Mit Typoskript & Angular 2.0.0-rc.4angular2 Animation mit variabler Arten
Wie kann ich Stil Eigenschaftswerte aus der Vorlage angeben, so dass ich wieder mit den Tasten kann? Zum Beispiel, wenn ich für jede Schaltfläche eine andere Hintergrundfarbe angeben möchte, basierend auf einer Eigenschaft, die an die Vorlage gebunden ist. Siehe unten
Nehmen wir die folgende Komponente:
import {
Component,
OnInit,
OnDestroy,
Input,
style,
state,
animate,
transition,
trigger
} from '@angular/core';
@Component({
selector: 'my-toggle-button',
template: `<div @state="state" (click)="click()">{{bgColor}}</div>`,
animations: [
trigger('state', [
state('inactive', style({
'color': '#606060'
})),
state('active', style({
'color': '#fff',
'background-color': '#606060' // I want this to be bgColor
})),
transition('inactive <=> active', animate('100ms ease-out'))
])
]
})
export class ToggleButtonComponent implements OnInit {
@Input() bgColor: string;
state: string = 'inactive';
active: boolean = false;
ngOnInit() {
this.state = this.active ? 'active' : 'inactive';
}
click() {
this.active = !this.active;
this.state = this.active ? 'active' : 'inactive';
}
}
Aufruf Vorlage:
<h1>Animated Directive</h1>
<my-toggle-button [bgColor]="'#f00'"></my-toggle-button>
<my-toggle-button [bgColor]="'#0f0'"></my-toggle-button>
<my-toggle-button [bgColor]="'#00f'"></my-toggle-button>
http://plnkr.co/edit/KBO2pgS8B0lSAPLIf0Js?p=preview
Sie können mit Plunker kommen, wenn es schön wäre, Ihnen zu helfen. – micronyks
Ich habe meinen Beitrag mit einem PLNKR bearbeitet – nograde