Estoy tratando de vincular una propiedad de color de mi clase (adquirida por el enlace de atributos) para establecer el background-colorde mi 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 + ";";
}
}
Mi plantilla:
<style>
.circle{
width:50px;
height: 50px;
background-color: lightgreen;
border-radius: 25px;
}
</style>
<div class="circle" [style]="changeBackground()">
<content></content>
</div>
El uso de este componente:
<circle color="teal"></circle>
Mi enlace no funciona, pero tampoco arroja ninguna excepción.
Si pusiera {{changeBackground()}}en algún lugar de la plantilla, devolvería la cadena correcta.
Entonces, ¿por qué no funciona el enlace de estilo?
Además, ¿cómo vería los cambios en la propiedad de color dentro de la Circleclase? ¿Cuál es el reemplazo de
$scope.$watch("color", function(a,b,){});
en Angular 2?
<div class="circle" [style.background]="'color'">