2016-04-12 78 views
2

根據angular/material2 site,可以使用類似npm install @angular2-material/checkbox的命令安裝組件軟件包。使用適用於Angular2的材料設計軟件包

當我使用此命令時,@ angular2-material/checkbox文件夾沒有複選框元素的checkbox.ts文件。相反,它有一個checkbox.d.ts文件,它聲明瞭一個名爲MdCheckbox的常規類。這不是一個組件,所以我無法在我的Angular2模板中訪問它。

當我下載完整的angular/material2壓縮文件時,src文件夾包含checkbox.ts,它將MdCheckbox定義爲一個組件。那麼npm包或GitHub存檔有問題嗎?

回答

3

總之,沒有沒有問題。 checkbox.d.ts文件不是組件文件。這只是一個declaration file。具有該組件的實際文件是checkbox.js,它已被轉換爲javascript。

爲了使用它,「假設你有SystemJS作爲你的模塊加載器,這是默認的」。在您的index.html

System.config({ 
    map:{ 
     '@angular2-material/checkbox':'node_modules/@angular2-material/checkbox' 
    }, 
    packages: { 
     '@angular2-material/checkbox': { 
     format: 'cjs', 
     defaultExtension: 'js', 
     main: 'checkbox.js' 
     }, 
     app:{...} 
    } 
    }); 

,然後在您的組件:

import {MdCheckbox} from '@angular2-material/checkbox'; 
+0

我試着用@ angular2材料/編譯複選框,但我得到了一個「錯誤TS1110:型號預計」是否有任何使用聲明文件的示例項目? – user934904

+0

@ user934904聲明文件通常由IDE使用。爲什麼你的意思是「用@ angular2-material/checkbox編譯」,你的意思是從'@ angular2-material/checkbox'import'{MdCheckbox};'? – Abdulrahman

+0

@ user934904我能夠提出你提到的問題。它在'checkbox.d.ts'第22行:'align:'start'| 'end';'這只是一個錯字_probably_,不應該阻止文件編譯爲javascript。 – Abdulrahman