我正在尝试使用角度材料7.2.0和
加载自定义svg图标
角度v7.2.0
因此,我将图标注册为
iconRegistry.addSvgIcon('box',
sanitizer.bypassSecurityTrustResourceUrl('assets/box.svg'));
然后我将图标用作
<mat-icon svgIcon="box"></mat-icon>
但图标未显示。
在控制台中,我可以看到错误Error retrieving icon: Http failure during parsing for http://localhost:4200/assets/box.svg
。
我检查了引发错误的代码,在那里我看到错误发生在从iconRegistry.getNamedSvgIcon
返回的流中,因此我在注册图标后添加了以下代码:
iconRegistry.getNamedSvgIcon('box')
.subscribe(res => console.log(res), err => console.error(err))
现在我可以看到,实际错误包含Unexpected token < in JSON at position 0
,因此看来angular试图将SVG解析为Json。
这是一个错误还是我配置错误?我还检查了响应的标题,并且SVG的内容类型正确。
答案 0 :(得分:0)
对于SSR,需要完整的URL才能检索svg图标。 遇到此问题时,我使用以下方法修复了该问题:
import numpy as np
import matplotlib.pyplot as plt
a=[np.array([2.40460915, 0.85513601]), np.array([1.80998096, 0.97406986]), np.array([2.14505475, 0.96109123]), np.array([2.12467111, 0.93991277])]
plt.scatter(*zip(*a)) #x,y=zip(*a)
plt.show()