angular2:使用*ngIf构建svg图标不会给DOM添加任何内容
angular2: building svg icons with *ngIf adds nothing to DOM
我正在使用icoMoon导入一些SVG图标。
我想使用ngIf构建的html遵循以下模式:
<div class="contactIcon">
<svg class="icon icon-envelop">
<use xlink:href="symbol-defs.svg#icon-envelop"></use>
</svg>
</div>
所以我正在导出具有图标和xlink属性的图标数组:
export class NavigationComponent {
icons = [{
icon: 'icon icon-envelop',
xlink: 'symbol-defs.svg#icon-envelop'
},
{
icon: 'icon icon-facebook2',
xlink: 'symbol-defs.svg#icon-facebook2'
},
{
icon: 'icon icon-linkedin',
xlink: 'symbol-defs.svg#icon-linkedin'
},
{
icon: 'icon icon-mobile',
xlink: 'symbol-defs.svg#icon-mobile'
}];
}
我的html看起来是这样的:
<div *ngFor="#i of icons" class="contactIcon">
<svg [attr.class]="i.icon">
<use [attr.xlink:href]="i.xlink"></use>
</svg>
</div>
但当我检查页面时,没有添加任何内容,控制台中也没有显示任何错误。我看到的只是这个评论:
<!--template bindings={}-->
有人能指出我做错了什么吗?
据我所知,解决方法是静态添加xlink:href
属性。绑定可以修改这样的SVG属性,仅添加是不起作用的。这是一些潜在的浏览器问题。聚合物也遭受同样的痛苦:
<div *ngFor="#i of icons" class="contactIcon">
<svg [attr.class]="i.icon">
<use xlink:href="" [attr.xlink:href]="i.xlink"></use>
</svg>
</div>
相关文章:
- 向动态生成的DOM添加Angular自定义指令
- 通过AJAX侦听向DOM添加某些元素
- 是否可以加快向DOM添加一组元素的速度
- 通过访问DOM添加功能
- angular2:使用*ngIf构建svg图标不会给DOM添加任何内容
- 如何在声明后运行DOM添加的指令
- 在对象创建器中向 DOM 添加选项
- 向 DOM 添加新元素时出现问题
- AngularJS:如何从服务向 dom 添加和编译指令
- 使用 MathJax 向 DOM 添加元素
- 向 DOM 添加一个简单的图像标记,而不是使用 GWT 控件以获得更好的 JS 运行时性能
- IE在通过Javascript向DOM添加大量HTML时太慢
- JavaScript/CSS:向DOM添加元素和应用其CSS规则之间的延迟
- 在向DOM添加元素时调用Meteor助手函数
- Angularjs在单击时向DOM添加元素
- 如何避免第一行被删除,同时使用DOM添加和删除html表行
- 动态地向dom添加事件侦听器
- 在每次迭代时向DOM添加一个元素,而不是在循环结束时添加全部元素
- 如何在向DOM添加新元素后重新加载函数
- 动态地向DOM添加和删除样式表