2017-11-23 1 views
0

をピックアップされていない:モジュールは、私はこのようになりますメイン@ngModule持っ

import {NgModule} from '@angular/core'; 
import {ReactiveFormsModule} from "@angular/forms"; 
import {BrowserModule} from '@angular/platform-browser'; 
import {AccountCreateComponent} from './account/create/account-create.component'; 
import {AccountListComponent} from './account/list/account-list.component'; 
import {AccountUpdateComponent} from './account/update/account-update.component'; 
import {AppRoutingModule} from './app-routing.module'; 
import {AppComponent} from './app.component'; 
import {LeaveCreateComponent} from './leave/create/leave-create.component'; 
import {LeaveListComponent} from './leave/list/leave-list.component'; 

import {LoginComponent} from './login/login.component'; 
import {RestApiService} from "./rest-api.service"; 
import {HttpModule} from "@angular/http"; 
import {LeavePendingListComponent} from './leave/pending-list/leave-pending-list.component'; 
import {BrowserAnimationsModule} from "@angular/platform-browser/animations"; 
import {MatPaginator, MatTableDataSource} from "@angular/material"; 
import {MaterialModule} from "./MaterialModule"; 

@NgModule({ 
    declarations: [ 
    AppComponent, 
    LoginComponent, 
    AccountCreateComponent, 
    AccountUpdateComponent, 
    AccountListComponent, 
    LeaveCreateComponent, 
    LeaveListComponent, 
    LeavePendingListComponent, 
    MaterialModule, 
     MatTableDataSource 
    ], 
    imports: [ 
     BrowserModule, 
    BrowserAnimationsModule, 
    ReactiveFormsModule, 
    AppRoutingModule, 
    MaterialModule, 
     MatTableDataSource, 
    HttpModule 
    ], 
    providers: [RestApiService], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

を私はこのようになります(MaterialModuleと呼ばれる)別のngModuleを持っています

import { 
    MatAutocompleteModule, MatButtonModule, MatButtonToggleModule, MatCardModule, MatCheckboxModule, MatChipsModule, 
    MatDatepickerModule, MatDialogModule, MatExpansionModule, MatGridListModule, MatIconModule, MatInputModule, 
    MatListModule, MatMenuModule, MatNativeDateModule, MatPaginatorModule, MatProgressBarModule, 
    MatProgressSpinnerModule, 
    MatRadioModule, MatRippleModule, MatSelectModule, MatSidenavModule, MatSliderModule, MatSlideToggleModule, 
    MatSnackBarModule, MatStepperModule, MatTableModule, MatTabsModule, MatToolbarModule, 
    MatTooltipModule 
} from "@angular/material"; 
import {A11yModule} from "@angular/cdk/a11y"; 
import {BidiModule} from "@angular/cdk/bidi"; 
import {ObserversModule} from "@angular/cdk/observers"; 
import {OverlayModule} from "@angular/cdk/overlay"; 
import {PlatformModule} from "@angular/cdk/platform"; 
import {PortalModule} from "@angular/cdk/portal"; 
import {ScrollDispatchModule} from "@angular/cdk/scrolling"; 
import {CdkStepperModule} from "@angular/cdk/stepper"; 
import {CdkTableModule} from "@angular/cdk/table"; 
import {NgModule} from "@angular/core"; 
import {MatTableDataSource} from "@angular/material"; 
/** 
* Created by maurice on 22-11-2017. 
*/ 
@NgModule({ 
    exports: [ 
     // CDK 
     // A11yModule, 
     // BidiModule, 
     // ObserversModule, 
     // OverlayModule, 
     // PlatformModule, 
     // PortalModule, 
     // ScrollDispatchModule, 
     // CdkStepperModule, 
     CdkTableModule, 

     // Material 
     MatPaginatorModule, 
     // MatAutocompleteModule, 
     // MatButtonModule, 
     // MatButtonToggleModule, 
     // MatCardModule, 
     // MatCheckboxModule, 
     // MatChipsModule, 
     // MatDatepickerModule, 
     // MatDialogModule, 
     // MatExpansionModule, 
     // MatGridListModule, 
     // MatIconModule, 
     // MatInputModule, 
     // MatListModule, 
     // MatMenuModule, 
     // MatProgressBarModule, 
     // MatProgressSpinnerModule, 
     // MatRadioModule, 
     // MatRippleModule, 
     // MatSelectModule, 
     // MatSidenavModule, 
     // MatSlideToggleModule, 
     // MatSliderModule, 
     // MatSnackBarModule, 
     // MatStepperModule, 
     MatTableModule, 
     MatTableDataSource, 
     // MatTabsModule, 
     // MatToolbarModule, 
     // MatTooltipModule, 
     // MatNativeDateModule, 
    ] 
}) 
export class MaterialModule {} 

MatTableDataSourceがMaterialModuleによってインポートされていることがはっきり分かります。しかし、私は次のエラーを取得するアプリケーションを実行すると:MatTableDataSourceはMaterialModuleによってエクスポートため、appModuleによってインポートされているので、非常に混乱して

Can't export value MatTableDataSource from MaterialModule as it was neither declared nor imported! 

を。また、MatTableDataSourceをappModuleのインポートに直接追加しましたが、それでも何も解決しません。誰かが私が間違っているのを見ることができますか?これは、

+0

インポートした要素をインポート配列 –

答えて

0

モジュールはimportsにする必要があります。..ないexports

imports: [ 
    CdkTableModule, 
    MatPaginatorModule, 
    MatTableModule, 
    MatTableDataSource 
] 

を動作するはずとnode_modulesを削除するには、次にnpm installを打ちます。

+0

に追加しました。この設定では、「宣言もインポートもされていないため、MaterialModuleから値MatTableDataSourceをエクスポートできません! – Maurice

+0

@Maurice、ごめんなさい、今すぐ確認してください:) –

+0

このエラーが発生しました: "予期せぬ値 'MatTableDataSource'が 'MaterialModule'モジュールでインポートされました。@ NgModuleアノテーションを追加してください。これは角度のものか何かのバグでしょうか?私はすべてのコンポーネントを昨日の最新バージョンに更新しました – Maurice

関連する問題