如何在MD上的按钮上使用svg图像(md-icon)

Ang*_*gel 2 angular-material angular

我试过这个表格但不起作用:

<button md-icon-button color="primary">
  <md-icon md-svg-src="./assets/img/sprites.svg">menu</md-icon>
</button>
Run Code Online (Sandbox Code Playgroud)

还有这个:

<md-icon svgSrc="./assets/img/sprites.svg">menu</md-icon>
Run Code Online (Sandbox Code Playgroud)

如何将svg图像放在按钮上.


更新:

我在看这个,

<button md-icon-button color="primary">
<img src="./assets/img/sprites.svg" style="max-width:25%"/>
</button>
Run Code Online (Sandbox Code Playgroud)

但我不知道这是不是正确的方法.

Ste*_*neM 5

在代码中的某处注入MdIconRegistry:

import { MdIconRegistry } from '@angular/material';
import { DomSanitizer } from '@angular/platform-browser';

constructor(
    private mdIconRegistry: MdIconRegistry,
    private sanitizer: DomSanitizer) {
...
Run Code Online (Sandbox Code Playgroud)

稍后注册你的svgs(ngOnInit()是个好地方):

ngOnInit() {
    this.mdIconRegistry.addSvgIconInNamespace('img', 'sprites',
        this.sanitizer.bypassSecurityTrustResourceUrl('/assets/img/sprites.svg'));
}
Run Code Online (Sandbox Code Playgroud)

然后在您的组件中,您可以使用您的svg:

<md-icon svgIcon="img:sprites" color="primary"></md-icon>
Run Code Online (Sandbox Code Playgroud)