>我有一个显示SVG的Angular 4应用程序。SVG 是动态的,取决于模型。这是通过竞标use xlink:href
属性来实现的:
<svg class="svg-icon">
<use [attr.xlink:href]="'./symbol-defs.svg#' + icon" />
</svg>
请注意,icon
是一个变量,因此可以更改。发生这种情况时,应更新 SVG 以反映这一点。
在Chrome,Firefox,Safari和Edge中一切正常,但在IE中,当模型更改时,SVG不会更新。这里有一个Plunker来说明这个问题。它适用于所有浏览器,但IE(11)除外。关于如何解决这个问题的任何想法?
您可以使用 svg4everyone 模块。 https://github.com/jonathantneal/svg4everybody
只是npm i --save svg4everybody
接下来,例如在AppModule.ts中,您需要添加
import * as svg4everybody from 'svg4everybody/dist/svg4everybody';
…
ngOnInit() {svg4everybody();}