2017-09-04 3 views
0

角度4+素材にカスタムライブラリを書きますが、私は多くの問題があります。 カスタムコンポーネントの1つがSearchComponentです。何も難しいことはありません。MdCommonModuleのカスタムアンギュラー4モジュールで素材を使用

search.component.ts

@Component({ 
selector: 'cis-search', 
templateUrl: './search.component.html', 
styleUrls: ['./search.component.scss'], 
encapsulation: ViewEncapsulation.None, 
host: { 
    'class': 'search' 
}}) 
export class CisSearchComponent implements OnChanges {} 

モジュール

@NgModule({ 
imports: [ 
    CommonModule, 
    MdIconModule, 
    MdListModule, 
    BrowserAnimationsModule, 
    HttpModule 
], 
providers: [SearchService], 
declarations: [CisSearchComponent], 
exports: [CisSearchComponent] 
}) 
export class CisSearchModule {} 

と、このモジュールのロールアップをパッケージ化。 は、メインプロジェクトで、私はそれを修正どのよう

{ 
    provide: DOCUMENT, useValue: {value: document} 
} 

エラー

TypeError: this._document.createElement is not a function 
at MdCommonModule._checkTheme (material.es5.js:191) 
at new MdCommonModul 

を書くのか? すべての依存関係が@latestにインストールされています。

答えて

1

ソリューションは、カスタムモジュールに

constructor(@Optional() @Inject(DOCUMENT) private _document: any) {} 

です。

関連する問題