如何动态设置组件宿主的样式

时间:2019-04-23 13:45:43

标签: css angular angular7

示例:https://stackblitz.com/edit/angular-mkcfsd

我有一个图标组件(app-icon),该组件动态获取路径并将该路径插入到svg视图框中,我获取路径的高度和宽度,然后将svg设置为该高度和宽度。因此,无论我在哪里使用该图标,它都可以正确对齐。我的问题是app-icon的包装器为每个图标的高度/宽度增加了3-4px,我不知道为什么。我看不到任何填充或边距。 (检查app-icon元素并将其与其子元素进行比较)

我当时认为最好将:host设置为路径的宽度和高度。但是我还没有找到一种动态地做到这一点的方法。我只能从我的scss文件在主机上设置样式,但是很遗憾,我无法动态更新这些样式。

1 个答案:

答案 0 :(得分:0)

您可以使用@HostBinding

@HostBinding('class.my-class') get myClass() {
  return true;
}