2017-02-18 2 views
0

Я новичок в Angular 2, пытаясь использовать ng2-bootstrap в своем приложении. Я последовал инструкциям для начала работы с угловыми кликами. Ниже приведены файлы app.module.ts и angular-cli.json.Ошибка использования ng2 bootstrap в приложении

При попытке использовать на одном из моих компонентов я получаю следующие ошибки в 5 раз:

ИСКЛЮЧЕНИЕ: Uncaught (в обещании): Ошибка: Шаблон ошибки синтаксического анализа: «гармошка» не является известным элементом : 1. Если «accordion» является угловым компонентом, проверьте, что он является частью этого модуля. 2. Если «accordion» является веб-компонентом, добавьте «CUSTOM_ELEMENTS_SCHEMA» в «@ NgModule.schemas» этого компонента, чтобы подавить это сообщение.

Что мне не хватает? Какие шаги я должен предпринять, чтобы включить ng2-bootstrap?

app.module.ts

import { NgModule }      from '@angular/core'; 
import { BrowserModule }    from '@angular/platform-browser'; 
import { LocationStrategy, 
     HashLocationStrategy,CommonModule }   from '@angular/common'; 

import { AppComponent }     from './app.component'; 
import { NAV_DROPDOWN_DIRECTIVES }  from './shared/nav-dropdown.directive'; 

import { ChartsModule }     from 'ng2-charts/ng2-charts'; 
import { SIDEBAR_TOGGLE_DIRECTIVES } from './shared/sidebar.directive'; 

import { AsideToggleDirective }   from './shared/aside.directive'; 
import { BreadcrumbsComponent }   from './shared/breadcrumb.component'; 
import { DashboardModule } from './dashboard/dashboard.module'; 
import { SupplierDataService } from './services/supplier-data.service'; 
import { Angular2FontawesomeModule} from 'angular2-fontawesome'; 
import { AccordionModule } from 'ng2-bootstrap/accordion'; 


// Routing Module 
import { AppRoutingModule }    from './app.routing'; 

// Layouts 
import { FullLayoutComponent }   from './layouts/full-layout.component'; 

// Http 
import { HttpModule } from '@angular/http'; 

@NgModule({ 
    imports: [ 
     BrowserModule, 
     CommonModule, 
     AppRoutingModule, 
     ChartsModule, 
     DashboardModule, 
     Angular2FontawesomeModule, 
     HttpModule, 
     AccordionModule.forRoot() 
    ], 
    declarations: [ 
     AppComponent, 
     FullLayoutComponent, 
     NAV_DROPDOWN_DIRECTIVES, 
     BreadcrumbsComponent, 
     SIDEBAR_TOGGLE_DIRECTIVES, 
     AsideToggleDirective 
    ], 
    providers: [SupplierDataService, 
    { 
     provide: LocationStrategy, 
     useClass: HashLocationStrategy 
    }], 
    bootstrap: [ AppComponent ] 
}) 
export class AppModule { } 

угловой cli.json

{ 
    "project": { 
    "version": "1.5.10", 
    "name": "core-ui" 
    }, 
    "apps": [ 
    { 
     "root": "src", 
     "outDir": "dist", 
     "assets": "assets", 
     "index": "index.html", 
     "main": "main.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.json", 
     "prefix": "app", 
     "mobile": false, 
     "styles": [ 
     "../node_modules/bootstrap/dist/css/bootstrap.min.css", 
     "scss/style.scss", 
     "../vendor/styles/wijmo.css", 
     "../node_modules/ag-grid/dist/styles/ag-grid.css", 
     "../node_modules/ag-grid/dist/styles/theme-fresh.css", 
     "../node_modules/ag-grid/dist/styles/theme-bootstrap.css", 
     "../node_modules/ag-grid/dist/styles/theme-material.css", 
     "../node_modules/font-awesome/css/font-awesome.css" 
     ], 
     "scripts": [ 
     "../node_modules/chart.js/dist/Chart.bundle.min.js", 
     "../node_modules/chart.js/dist/Chart.min.js" 
     ], 
     "environments": { 
     "source": "environments/environment.ts", 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 
    "addons": [ "../node_modules/font-awesome/fonts/*.+(otf|eot|svg|ttf|woff|woff2)" 
], 
    "packages": [], 
    "e2e": { 
    "protractor": { 
     "config": "./protractor.conf.js" 
    } 
    }, 
    "test": { 
    "karma": { 
     "config": "./karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "styleExt": "scss", 
    "prefixInterfaces": false 
    } 
} 
+0

Где вы используете тег 'accordion'? – yurzui

+0

Почему вы импортируете 'CommonModule', если вы уже импортировали' BrowserModule'? – yurzui

+0

Это был проект, который мне дали, нужен ли только браузер? –

ответ

0

Я думаю, что вы пропустили bootstrap.js файл, который вы должны импортировать внутри скриптов в angular-cli.json.

"scripts": [ 
     "../node_modules/chart.js/dist/Chart.bundle.min.js", 
     "../node_modules/chart.js/dist/Chart.min.js", 
     "../node_modules/bootstrap/dist/js/bootstrap.js" 
     ] 
+0

нет, вы не должны этого делать, поскольку обертка ng2 имеет свой собственный JS для обслуживания компонентов ng2 – 72GM

+0

, а аккордеон - это компонент/директива ng2 ... не имеет никакого отношения к самому Bootstrap – 72GM

Смежные вопросы