2016-10-14 2 views
2

Я пытаюсь передать входы/выходы в ленивый загруженный компонент, но я не уверен , как я могу это сделать.Угловая 2 ленивая загрузка - входы/выходы

Если это не лениво загружено, я знаю, что могу сделать это вот так.

test.ts

testdata: string; 

ngOnInit(){ 
    this.testdata = "TEST"; 
} 

test.html

<test-component [data]="testdata"></test-component> 

testcomponent.ts

@Input() data: string; 

Но что я f testcomponent ленивый загружен, и у меня есть что-то вроде этого?

testcomponent загружен, когда пользователь переходит по определенному пути.

test.html

<router-outlet></router-outlet> 
+0

Спасибо, ребята , Его позор, я полностью пропустил, что могу пользоваться услугами. –

ответ

0

Там нет никакого способа, чтобы использовать связывание с компонентами, добавленными маршрутизатором или ViewContainerRef.createComponent.

Используйте общую службу для взаимодействия с компонентами, которые не являются прямым родителем и ребенком, как объяснено в https://angular.io/docs/ts/latest/cookbook/component-communication.html

1

Вы можете использовать одно из следующих действий:

  1. использовать строку запроса для передачи данных к ленивым загруженным компонентам; или

  2. использование общей службы для передачи данных от основного компонента и хранить данные в переменной и, когда ленивый компонент загружается только считывать значение этой переменной в onInit функции