我正在构建一个Angular 2.0组件,我想动态地控制它的风格(使用ng-style
)。在快速查看Angular 2的文档后,我尝试了这个:
<div class="theme-preview" ng-style="{'font-size': fontSize}">
{{fontSize}}
</div>
并且看到尺寸实际上印在div内但没有影响风格。 fontSize
是组件的属性绑定之一&#39;,这意味着组件从其父级获取它,如下所示:
<my-component [font-size]="size" />
在我的组件内部:
@Component({
selector: 'XXX',
properties: ['fontSize']
})
我在这里错过了什么吗?
答案 0 :(得分:49)
人们仍然会得到这个答案,所以我已经将plnkr更新为beta.1。到目前为止,有两件事发生了变化
示例强>
@Component({
selector : 'my-cmp',
template : `
<div class="theme-preview" [ngStyle]="{'font-size': fontSize+'px'}">
{{fontSize}}
</div>`
})
class MyCmp {
@Input('font-size') fontSize;
}
@Component({
selector: 'my-app',
directives: [MyCmp],
template: `
<my-cmp [font-size]="100"></my-cmp>
`
})
请参阅此plnkr(已更新至beta.1 )
答案 1 :(得分:11)
对于特定样式,您也可以使用:
<div class="theme-preview" [style.font-size]="fontSize+'px'">
答案 2 :(得分:0)
这样的东西实际上正在处理最新版本的角度4,语法实际上已经改变,请注意 [ngStyle]
.color-box {
width: 10px;
height: 10px;
display: inline-block;
}
<div class="color-box" [ngStyle]="{'background-color': your.model.object.color_code}"></div>