2017-06-21 76 views

回答

9

只需按照下列步驟操作:從here

  1. 下載mdi.svg角材料部分,並將其放置在你的assets文件夾,應位於(從項目的根目錄)/src/assets

    Documentation <code>assets</code> folder

  2. 在您的應用程序的模塊(又名app.module.ts),加上下面幾行:

    import {MatIconRegistry} from '@angular/material/icon'; 
    import {DomSanitizer} from '@angular/platform-browser'; 
    ... 
    export class AppModule { 
        constructor(private matIconRegistry: MatIconRegistry, private domSanitizer: DomSanitizer){ 
         matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityResourceUrl('/assets/mdi.svg')); 
        } 
    } 
    
  3. 確保包括在assets.angular-cli.jsonassets文件夾(雖然在默認情況下,它會在那裏):

    { 
        "apps": [ 
         { 
           ... 
           "assets": [ 
            "assets" 
           ] 
         } 
        ] 
    } 
    

  4. 最後,隨着svgIcon輸入經由MatIcon部件使用它


更新

我已經改變了說明,以便將更高版本的工作。

+1

非常感謝你:d –

+0

感謝您在過去的一天,你的信息response.I一直纏鬥一個非常奇怪的問題。我在本地環境中成功使用了。當我將相同的代碼部署到我的測試服務器時,圖標顯示並且一切都很美 我收到以下錯誤消息。檢索圖標時出錯:標記未找到 基本上標記不會在md-icon內部呈現。我可以確認所有SVG返回200並正確加載。沒有其他問題。我將不勝感激任何幫助或暗示。我將我的SVG文件夾放在公用文件夾下 –

+0

@RiceJunkie您使用的是什麼版本的angular-material2? – Edric

9

對於所有誰使用SCSS:

npm install material-design-icons 
在SRC

/styles.scss

@import '~material-design-icons/iconfont/material-icons.css'; 

和HTML如@ creep3007描述here

<i class="material-icons">visibility</i> 
3

答案相似,你可以在你的.angular-cli.json中指定樣式表:

  1. 安裝NPM包

    npm install material-design-icons --save 
    
  2. 材料圖標添加到您的.angular-CLI。JSON

    { 
        "apps": [ 
        { 
         "styles": [ 
         "../node_modules/material-design-icons/iconfont/material-icons.css" 
         ] 
        } 
        ] 
    } 
    
  3. 使用它

    <i class="material-icons">visibility</i> 
    
+0

OP不使用Google Material Design圖標。他使用Templarian的MaterialDesignIcons。 – Edric

+0

這是包含材質圖標的最佳方式,將其包含到scss文件或angular-cli.json中? – thekingtn