带有NgbTypeahead的SharedModule抛出StaticInjectorError(AppModule)[NgbTypeahead-> Live]:

时间:2018-07-08 16:30:56

标签: angular angular6 ng-bootstrap

我正在使用Angular 6.0.7,打包了angular 6的新库功能(ng build @ library / name),该库使用了ng-packgr。库是使用

创建的

ng generate library mylib/shared

两个项目都正确构建,但是父应用程序在运行时因以下原因中断:

Error: StaticInjectorError(AppModule)[NgbTypeahead -> Live]:

共享模块,其中包含一个用于ngbtypeahead的简单包装器:

import { NgModule, NgZone } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';

import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

@NgModule({
  imports: [
    FormsModule,
    NgbModule,
    CommonModule,
    RouterModule
  ],
  providers: [],
  declarations: [
    AutoComplete

  ],
  exports:
  [
    AutoComplete

  ]
})
export class ControlModule { }

主模块(尽管其中包含一些提供程序工厂,但我不认为这是问题所在):

    @NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    ControlModule,
    NgbModule.forRoot(),
    AppRoutingModule
  ],
  providers: [HttpClient, ConfigService,
    {
      provide: SomeCustomService,
      useFactory: (HttpClient: HttpClient) =>
      {
        return new SomeCustomService(HttpClient);
      },
      deps: [HttpClient]
    }
  ],
  bootstrap: [AppComponent],
  entryComponents: [SomeCompoent]
})
export class AppModule { }

我尝试直接从源代码实施Live,并将其放入provider部分。我也尝试过使用自定义工厂进行现场直播,并手动传递其参数(来自@ angular / core的DOCUMENT和来自util / accessibility / live.ts的ARIA_LIVE_DELAY)没有运气。

有什么想法会导致这种情况吗?

0 个答案:

没有答案