角度重载或动态破坏模块

时间:2019-01-08 14:04:53

标签: angular

我正在使用Ionic 3(Angular 5.2.11),并且尝试在具有不同初始化功能的App的两个不同模块中导入第三方模块“ ionic-audio”(IonicAudioModule):

模块1:

//function1 for my module 1
export function ionicAudioWebAudioProvider(){
  return new WebAudioProvider();
}

@NgModule({
  declarations: [
    DeletePage,
    DownloadPage,
    PlayPage
  ],
  imports: [
    IonicPageModule.forChild(LibraryPage),
    IonicAudioModule.forRoot(ionicAudioCordovaMediaProvider),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ],

模块2:

//identically the same just while importing it takes a different function inside forRoot:
//function2 for my module 2
export function ionicAudioCordovaMediaProvider(){
  return new CordovaMediaProvider();
}

  imports: [
    IonicPageModule.forChild(LibraryPage),
    IonicAudioModule.forRoot(ionicAudioWebAudioProvider),
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^

  ],

但是我意识到,如果我的模块之一加载了IonicAudioModule,则该模块仍然为所有模块加载相同的值,

我想找到一种解决方案,让我在每次调用两个模块之一时刷新模块。

是否有解决方案可以使此IonicAudioModule每次重新加载?, 还是可以通过编程方式销毁它的解决方案?, 还是创建此模块的多个实例的解决方案?

0 个答案:

没有答案