为了在Angular 7组件中显示内容,我们使用了JSON。当通过JSON将SVG图标提供给组件时,我遇到了使用我们用户体验团队的SVG图标的问题。我知道使用img标签它不允许我使用CSS类来改变图标的颜色,并且需要相同图标的倍数,这对于这个项目来说并不理想。我尝试了多种方法来实现这一点。我尝试过通过嵌入svg字符串
"icon": "data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>",
<embed [src]="items.icon">
但我得到错误"意外令牌h在JSON位置64"
我还尝试在SVG标签中使用插值,但我得到了与上述类似的错误。
我也尝试过在div标签中进行插值,但我得到的是路径而不是图标。
我需要做的是-1.将SVG放置在JSON中,并通过插值将其提供给组件。2.更改SVG上的类以更改颜色和不透明度
是否有任何留档使用SVG角度7组件通过插值从JSON?
对于您拥有的数据,您应该在img标签上使用src。
<img [src]="item.icon">
如果您可以将其用作超文本标记语言,那就更好了。
"icon": "<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>",
<div [innerHTML]="items.icon"></div>