Ich versuche, eine Farbeigenschaft aus meiner Klasse (die durch Attributbindung erworben wurde) zu binden, um die background-colorvon my festzulegen div.
import {Component, Template} from 'angular2/angular2';
@Component({
selector: 'circle',
bind:{
"color":"color"
}
})
@Template({
url: System.baseURL + "/components/circle/template.html",
})
export class Circle {
constructor(){
}
changeBackground():string{
return "background-color:" + this.color + ";";
}
}
Meine Vorlage:
<style>
.circle{
width:50px;
height: 50px;
background-color: lightgreen;
border-radius: 25px;
}
</style>
<div class="circle" [style]="changeBackground()">
<content></content>
</div>
Die Verwendung dieser Komponente:
<circle color="teal"></circle>
Meine Bindung funktioniert nicht, wirft aber auch keine Ausnahmen.
Wenn ich {{changeBackground()}}irgendwo in die Vorlage einfügen würde, würde dies die richtige Zeichenfolge zurückgeben.
Warum funktioniert die Stilbindung nicht?
Wie würde ich auch die Änderungen an der Farbeigenschaft innerhalb der CircleKlasse beobachten? Wofür ist der Ersatz?
$scope.$watch("color", function(a,b,){});
in Winkel 2?
<div class="circle" [style.background]="'color'">