1

最初のページに複数のコンポーネントをロードして表示する、一般的な Ionic 2 アプリに取り組んでいます。

各アドオンは、アプリで簡単に作成および実装できる必要があります。そこで、「addon-declaration.ts」という名前のファイルを作成しました。このファイル内で、すべてのコンポーネントをエクスポートしました:

export { MyFirstAddon } from './components/addon1/first.addon';
export { MySecondAddon } from './components/addon2/second.addon';
export { MyThirdAddon } from './components/addon3/third.addon';

私の質問は、すべてのコンポーネントを「app.module.ts」宣言フィールドに直接インポートする方法ですか?

私はすでにこれを試しましたが、うまくいきません:/

import * as ModuleHandler from '../models/addons/addon-declaration';

@NgModule({
  declarations: [
    MyApp,
    ModuleHandler <--- Not working
  ],
  imports: [
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp
  ],
  providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}]
})
export class AppModule {}

それらを1つずつインポートするとうまくいきます:

import { MyFirstAddon } from'../components/addon1/first.addon';
import { MySecondAddon } from'../components/addon2/second.addon';
import { MyThirdAddon } from'../components/addon3/third.addon';

@NgModule({
      declarations: [
        MyApp,
        MyFirstAddon, <--- Working well
        MySecondAddon,
        MyThirdAddon
      ],
4

3 に答える 3

4

コンポーネントとディレクティブをエクスポートする機能モジュールを作成します

@NgModule({
  declarations: [MyFirstAddon, MySecondAddon, MyThirdAddon],
  exports: [MyFirstAddon, MySecondAddon, MyThirdAddon]
})
export class MyAddonModule {}

アドオンを使用する他のモジュールのインポートにそのモジュールを追加します

import { MyAddonModule } from './components/my-addon-module';

@NgModule({
  declarations: [
    MyApp,
    ModuleHandler <--- Not working
  ],
  imports: [
    IonicModule.forRoot(MyApp), MyAddonModule
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp
  ],
  providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}]
})
于 2016-12-30T13:40:22.900 に答える
1
declarations: [
   MyApp,
   ModuleHandler.MyFirstAddon,
   ModuleHandler.MySecondAddon,
   ModuleHandler.MyThirdAddon
]

または、それらをエクスポートしてモジュールをインポートする ngModule を使用します。

于 2016-12-30T13:40:00.637 に答える