Angular 2: разрешение маршрута данных в дочернем компоненте

У меня есть компонент, который загружается (маршрутизируется) при успешном разрешении данных с использованием преобразователей на уровне маршрутизатора. Данные, полученные с сервера, должны быть переданы дочерним компонентам. Данные разрешаются и соответственно передаются, но дочерний компонент выдает ошибку

попытка доступа из неопределенного

.

Сценарий:

HTML-код родительского компонента:

 <parent>
   <child [_data]="dataFromResolver"></child>
 </parent>

Родительский компонент .ts

export class Parent implements OnInit {

    dataFromResolver: any;

    constructor(private route: ActivatedRoute) {
    }

    ngOnInit() {
        this.route.data.forEach((data: any) => {
          this.dataFromResolver = data;
        });
    }
}

Служба разрешения:

resolve(route: ActivatedRouteSnapshot): Observable<boolean | any> {
    return this.parentService.getData().map(output => {
        if (output) {
            return output;
        } else {
            this.router.navigate(['/login']);
            return false;
        }
    });
}

Дочерний компонент.ts

@Input() _data(value: any) {
        this.data = value;
    }


    data: any;

Дочерний компонент HTML

<p>{{data.name}}</p>

Маршрут также был настроен соответствующим образом, и я вижу данные, поступающие на вкладку сети инструментов браузера.

Пожалуйста, дайте мне знать, если я что-то упустил.


person Sumit Agarwal    schedule 24.10.2016    source источник


Ответы (1)


Нашел ошибку, которую я пропустил set после @Input(). Грубая ошибка.

person Sumit Agarwal    schedule 24.10.2016