Angular:绑定到 xlink:href 不会更新 IE11 中的 SVG



>我有一个显示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();}

最新更新