Как получить доступ к данным в маршруте в Angular4 - PullRequest
0 голосов
/ 28 сентября 2018

Я пытался получить доступ к данным в маршрутизаторе из другого компонента, но он всегда возвращает неопределенное значение.Пусть код говорит.

import { Component,OnInit} from '@angular/core';
import {ActivatedRoute} from '@angular/router';

export class AppComponent implements OnInit{
    subPagetitle:string = 'test1';
    constructor(private dataRouter:ActivatedRoute) {

    }
    ngOnInit() :void{
        this.subPagetitle = this.dataRouter.snapshot.data['mydata'];
    }
}

в моем компоненте маршрутизации:

const routes: Routes = [
    { path: 'paycheckDetail', component: PaycheckDetailComponent,data:{mydata:'test'}}  
];

, когда я пытаюсь получить доступ к mydata с помощью dataRouter.snapshot.data ['mydata'], он возвращает неопределенное значение.любая идея?Кстати, в консоли нет ошибок.Большое спасибо за помощь.

1 Ответ

0 голосов
/ 28 сентября 2018

Подпишитесь на data наблюдаемый из ActivatedRoute:

class TheComponent {
  constructor(ar: ActivatedRoute) {
    ar.data.subscribe(data => {
      this.myData = data.mydata;
    });
}

Более подробная информация из официальных документов: здесь и там .

...