Angular 6 – Как передать конфигурацию из `.forRoot()` службам внутри модуля?

Полный отказ от ответственности: я очень новичок в angular, например, я только что начал вчера новый вид нового.

У меня есть этот пользовательский модуль:

foo.module.ts

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FooComponent } from './foo.component';
import { FooService } from './foo.service';

@NgModule({
  imports: [
    CommonModule
  ],
  exports: [
    FooComponent
  ],
  declarations: [
    FooComponent
  ]
})
@NgModule()
export class FooModule {
  static forRoot(config: any): any {
    return {
      ngModule: FooModule,
      providers: [
        FooService
      ]
    }
  }
}

app.module.ts

В разделе imports app.module я нашел это.

...
imports: [
  BrowserModule,
  FooModule.forRoot({id: 'SOME_ID'})
],
...

Я хочу передать данные из .forRoot(args) в FooService, чтобы я мог их инициализировать.

После инициализации FooService я хочу внедрить его в любой компонент, который захочу, и использовать методы внутри него.

Я имею в виду что-то вроде этого:

foo.service.ts

@Injectable()
export class FooService {
  // get the config from forRoot()
  constructor() {
    // initialize stuff here using
    // the config from forRoot()
  }

  doThis() {...}
  doThat() {...}
}

foo.component.ts

...
export class FooComponent implements OnInit {
  biz: any
  constructor(foo: FooService) {  
    this.biz = foo;
  }

  bar() {
    // acess stuff from FooService
    this.biz.doThis();
    this.biz.doThat();
  }

}
...

person CENT1PEDE    schedule 26.06.2018    source источник