如何向动态创建的组件添加样式

时间:2017-01-06 16:20:16

标签: angular

我正在尝试将样式设置为动态创建的组件。

我想做这样的事情,因为我想要的不能用s / css样式(class或id)来完成。

<div [style.height]="myVar">

我正在创建的组件是:

let widgetResourceGroupFactory = this.resolver.resolveComponentFactory(ResourceGroupComponent);

for (let group of this.groups) {
  let widgetResourceGroupReference = this.content.createComponent(widgetResourceGroupFactory);  

  widgetResourceGroupReference.instance['group'] = group;
  widgetResourceGroupReference.instance['slug'] = group.slug;

  this.renderer.listen(widgetResourceGroupReference.location.nativeElement, 'click', () => {
    this.loadCategories(group);
  });
}

我想将自定义样式设置为widgetResourceGroupReference,但我尝试的功能不起作用,这是一种instance['style.height']

非常感谢你。

1 个答案:

答案 0 :(得分:2)

好吧,我用渲染器解决了它:

this.renderer.setElementStyle(widgetResourceGroupReference.location.nativeElement, 'width', this.upperLeftWidth);