这里是 Angular 新手..有人可以指导我正确的方法吗我怎样才能用自定义图标正确地替换现有的 Material 图标,更准确地说是用 SVG 图形?是这样的:
所以这:
<mat-icon class="mat-icon-rtl-mirror">
{{nestedTreeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
有了这个:
<mat-icon class="mat-icon-rtl-mirror">
{{nestedTreeControl.isExpanded(node) ? 'INSERT_SVG_1_HERE' : 'INSERT_SVG_2_HERE'}}
</mat-icon>
原文由 Smithy 发布,翻译遵循 CC BY-SA 4.0 许可协议
Unfotunatley this does not exactly solve your problem, because you will need to use the argument
svgIcon
onthe mat-icon
element instead of using theinnerText
ofmat-icon
但除此之外它有效:raw-loader
来实现。MatIconRegistry
注册它们;举个例子:
另一种方法 是安装
@mdi/svg
npm install @mdi/svg
然后按照上述步骤,不同之处在于导入每个必要的图标,例如
expand_more
和chevron_right
所以在
src/app/app.module.ts
在 html 中只是一种简化……但你会明白……
这种方法的缺点是,你必须注册所有你想使用的图标……但至少你保持在同一个变化域中。您可以通过
svgIcon
更改所有连字,而不是使用连字,并且您获得的图标不仅仅是过时的图标material-design-icons
库包含的图标。我希望这有帮助