Я пытаюсь передать строковый аргумент из компонента в конструктор службы. В случае значения stati c это было просто:
@Component({
selector: 'app-board',
templateUrl: './board.component.html',
styleUrls: ['./board.component.css'],
providers: [UsersDetailProviderService,
{provide: 'boardId', useValue: 'whatever'} ]
})
и к моим услугам:
constructor(private afs: AngularFirestore,
@Inject('boardId') @Optional() public boardId?: string) {
console.log(boardId);
}
, и я получил свое «что угодно» в консоли. Но то, что я действительно хотел передать, это реальный идентификатор доски. В компоненте я использую activRoute для получения идентификатора доски для локальной переменной.
this.boardId = this.activatedRoute.snapshot.paramMap.get('id');
Как передать этот идентификатор службе?
@ edit Я могу достичь своей цели вызывая метод службы, который принимает идентификатор платы в качестве аргумента, а затем инициализирует данные службы. Но я не думаю, что это хороший способ для этого?