2017-04-01 28 views
0

我正在使用angular2和ng2-bootstrap。ng2-bootstrap無法在angular2中註冊alert,datepicker

在我module.ts,我已經聲明如下

import { Ng2BootstrapModule, AlertModule } from 'ng2-bootstrap'; 
imports:  [ BrowserModule, 
    ..., 
    Ng2BootstrapModule.forRoot(), 
    AlertModule.forRoot(), 
    ... ] 

在我的組件模板我已經聲明如下:

測試警報

我systemjs.config.js:

map:{ 
    ..., 
    'moment': 'npm:moment', 
    'ng2-bootstrap': 'npm:ng2-bootstrap', 
    ... 
}, 
packages: { 
    ..., 
    'moment': { main: 'moment.js', defaultExtension: 'js' }, 
    'ng2-bootstrap': { format: 'cjs', main: 'bundles/ng2-bootstrap.umd.js', defaultExtension: 'js' }, 
    ... 
} 

但我得到這個錯誤:

Unhandled Promise rejection: Template parse errors: 
'alert' is not a known element: 
1. If 'alert' is an Angular component, then verify that it is part of this module. 
2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. 

我的缺失是什麼。請幫助我。我花了幾個小時找到解決方案,但不能。

在此先感謝。

+0

Ng2BootstrapModule來自其宣稱NG2自舉在module.ts –

回答

0

如果您需要日期選擇器和警報,請導入

import { DatepickerModule, AlertModule } from 'ng2-bootstrap'; 
imports:  [ BrowserModule, 
    ..., 
    DatepickerModule.forRoot(), 
    AlertModule.forRoot(), 

會發生什麼: 角需要在相應的子模塊用於渲染 模塊的進口

+0

最後我解決我自己。我有'AppModule.ts'爲主,'QuestionTagModule.ts'爲子模塊。我在子模塊文件中缺少導入'AlertModule'。我只在主模塊中導入'Ng2BootstrapModule.forRoot()'。 這是我愚蠢的事情。 反正謝謝你們。 –

+0

似乎我需要重述這個'在相應的submodules' – valorkin

+0

請我不明白你和我有同樣的問題。因此,我必須在appmodule中導入AlertModule.forRoot(),並在要使用的組件的模塊中使用相同的字符串import AlertModule.forRoot()。爲什麼兩次?如果它是forRoot()它應該是好的,如果我只是將其導入父appmodule,對不對? –