Angular введение параметра ActivatedRoute в сервис - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь передать строковый аргумент из компонента в конструктор службы. В случае значения 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 Я могу достичь своей цели вызывая метод службы, который принимает идентификатор платы в качестве аргумента, а затем инициализирует данные службы. Но я не думаю, что это хороший способ для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...