【发布时间】:2017-11-17 11:53:15
【问题描述】:
我有一个<span>,我想对其应用动态样式。
样式存储在类似 css 的 string 变量中,并且可以是任意的,例如
myStyle = 'color: white; font-weight: bold;'
或
myStyle = 'background-color: red;'
我希望它会像这样工作
<span style="{{myStyle}}">
但它没有。
我尝试了不同的选项,但由于不同的原因,似乎没有一个对我有用:
- 我无法将样式放入 .css 文件并使用类名,因为样式以上述字符串的形式来自服务器
- 使用
[style.color]等不适合我,因为我不知道样式可以是什么 - 使用
[ngStyle]不适合我,因为它需要像{'color': 'red', 'font-weight': 'bold'}这样的对象,而我只有字符串
我将样式存储在字符串中的原因是因为我需要在服务器上生成的 HTML 中应用它,我只需将该字符串传递给速度模板中的占位符变量。
我几乎确信它不能按照我想要的方式完成,但可能我忽略了一些解决方案。
【问题讨论】:
-
你也试过
<span [style]="myStyle">吗? -
是的,我做到了。它呈现为没有
style属性的普通<span> -
好像有点奇怪,你有没有试过使用 ViewChild 来获取 span 并通过 ts 应用样式?
-
不,我没试过。什么是'ts'?打字稿?
-
是的,ts 是 typescript 的缩写,也是 typescript 文件的文件扩展名