繁体   English   中英

Angular 2.0和ng-style

[英]Angular 2.0 and ng-style

我正在构建一个Angular 2.0组件,我想动态地控制它的样式(使用ng-style )。 在快速查看Angular 2的文档后,我尝试了这个:

<div class="theme-preview" ng-style="{'font-size': fontSize}">
  {{fontSize}}
</div>

并且看到尺寸实际上印在div内但没有影响风格。 fontSize是组件的属性绑定之一',这意味着组件从它的父节点获取它,如下所示:

<my-component [font-size]="size" />

在组件内部,我有:

@Component({
  selector: 'XXX',
  properties: ['fontSize']
})

我在这里错过了什么吗?

更新

人们仍然会得到这个答案,所以我已经将plnkr更新为beta.1。 到目前为止有两件事发生了变化

  • 不再需要在directives属性中显式添加NgStyle。 它是默认添加的通用指令的一部分。
  • 语法已经改变,现在它必须是驼峰式的。

@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

对于特定样式,您还可以使用此:

<div class="theme-preview" [style.font-size]="fontSize+'px'">

这样的东西实际上正在处理最新版本的角度4,语法实际上已经改变了,请注意[ngStyle]

.color-box {
    width: 10px;
    height: 10px;
    display: inline-block;
}

<div class="color-box" [ngStyle]="{'background-color': your.model.object.color_code}"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM