4

複数のモジュール間で共有したい angular2 コンポーネントが 1 つあります。

だから私は sharedModule の下に書いた、

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {GenericComponent} from './generic/generic.component';
@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ GenericComponent ],
  exports:      [ GenericComponent ]
})
export class SharedModule { }

次に、この sharedModule を以下のように複数のモジュールに追加しました。

app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {SharedModule} from './shared.module';
import { AppComponent } from './app.component';
@NgModule({
  imports:      [ BrowserModule,SharedModule ],
  declarations: [ AppComponent ],
  exports:      [ AppComponent ],
  bootstrap: [AppComponent]
})
export class AppModule { }

同様に、generic.module.ts に sharedModule も追加しました。

generic.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {SharedModule} from './shared.module';
@NgModule({
  imports:      [ BrowserModule,SharedModule ],
  declarations: [ //.. here I have added all the components that generic uses ]
})
export class GenericModule { }

しかし、generic.module.ts のコンポーネント内でジェネリック コンポーネントを使用しようとすると、以下のエラーが発生します。

モジュール「GenericModule」によってインポートされた予期しない値「未定義」

4

2 に答える 2

4

featureModuleで BroswerModuleを使用することはできません。そのため、 BrowswerModule を使用する代わりにCommonModuleを使用してください

import { NgModule }      from '@angular/core';
import { CommonModule }        from '@angular/common';
import {SharedModule} from './shared.module';
@NgModule({
  imports:      [ CommonModule ,SharedModule ],
  declarations: [ //.. here I have added all the components that generic uses ],
  exports:      [ CommonModule]
})
export class GenericModule { }
于 2016-09-22T05:55:13.200 に答える