提问者:小点点

如何服务SVG图标使用插值角度7从JSON文件?


为了在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?


共1个答案

匿名用户

对于您拥有的数据,您应该在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>