Если вы хотите внедрить что-то из приложения в вашу библиотеку, сделайте это следующим образом:
export class LibraryModule {
static forRoot(config: any): ModuleWithProviders {
return {
ngModule: LibraryModule,
providers: [{provide: 'config', useValue: config}]
};
}
}
, затем используйте внедренный класс следующим образом:
@Component({
selector: 'app-test',
templateUrl: './app-test.component.html',
styleUrls: ['./app-test.component.css']
})
export class AppTestComponent implements OnInit {
constructor( @Inject('config') config) {
// use the injected
}
}
Как включить внедрение в прикладном модуле:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
@NgModule({
imports: [ BrowserModule, LibraryModule.forRoot(supposeToInject) ],
providers: [ Logger ],
declarations: [ AppComponent ],
exports: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }