ng2-bootstrap не может зарегистрировать предупреждение, средство выбора даты в angular2

Я использую angular2 и ng2-bootstrap.

В моем модуле.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.

Чего мне не хватает. Пожалуйста, помогите мне в этом. Я потратил несколько часов, чтобы найти решение, но не смог.

Заранее спасибо.


person jack.pop    schedule 01.04.2017    source источник
comment
Ng2BootstrapModule исходит из ng2-bootstrap, который объявлен в module.ts.   -  person jack.pop    schedule 01.04.2017


Ответы (1)


Если вам нужен datepicker и оповещение, пожалуйста, импортируйте их

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

Что может случиться: Angular требует импорта модулей, используемых для рендеринга, в соответствующие подмодули.

person valorkin    schedule 06.04.2017
comment
Наконец решаюсь. У меня был AppModule.ts основной, а QuestionTagModule.ts вспомогательный модуль. Мне не хватало импорта AlertModule в файле подмодуля. Я импортирую только Ng2BootstrapModule.forRoot() в основной модуль. Это моя глупость. Все равно спасибо ребята. - person jack.pop; 07.04.2017
comment
кажется, мне нужно перефразировать это `в соответствующих подмодулях` - person valorkin; 13.09.2017
comment
Пожалуйста, я вас не понимаю, и у меня такая же проблема. Итак, мне нужно import AlertModule.forRoot() в модуле приложения и ту же строку import AlertModule.forRoot() в модуле компонента, который я хочу использовать? Почему дважды? если это forRoot(), все должно быть в порядке, если я просто импортирую его в родительский модуль приложения, верно? - person Shil Nevado; 25.01.2018