Доступ к массиву в глубоко вложенном дочернем компоненте - PullRequest
0 голосов
/ 06 декабря 2018

Мне было интересно, как получить доступ к массиву дочерних компонентов, структура выглядит следующим образом:

parent.component.ts -> child.component.ts -> child.component2.ts

В child.component2.ts есть массив, который я хотел быдоступ в main.component.Возможно ли это, установив переменную шаблона, или мне нужно работать с Output()?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Еще один способ решить эту проблему - создать службу, которая будет содержать переменную массива, а затем внедрить ее в main.component.ts и child.component.ts

custom.service.ts

@Injectable() 
export class CustomService {
 myArray = [1,2,3,4];
}

main.component.ts

export class MainComponent {
  constructor(private customService: CustomService) {}
  myArr = this.customService.myArray;
}

child2.component.ts

export class MainComponent {
  constructor(private customService: CustomService) {}
  myArr = this.customService.myArray;
}
0 голосов
/ 06 декабря 2018

Вы можете внедрить дочерний компонент2 в метод конструктора основного компонента.

child.component2.ts

getUniqueArray(){
  return [1,2,3,4,5];
}

main.component.ts

constructor(private child2: ChildComponent2){
   this.child2.getUniqueArray();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...