Я пытаюсь получить доступ к элементам внутри дочернего элемента из родительского элемента, как в следующем примере кода:
@Component({
selector: 'parent',
template: `<child></child>`
})
export class Parent implements AfterContentInit, AfterViewInit {
@ViewChildren('element') viewChildren: QueryList<ElementRef>
@ContentChildren('element', {descendants: true}) contentChildren: QueryList<ElementRef>
ngAfterContentInit() {
console.log(this.contentChildren)
}
ngAfterViewInit() {
console.log(this.viewChildren)
}
}
@Component({
selector: 'child',
template: `
<div #element>Div1</div>
<div>Div2</div>
<div #element>Div3</div>
`
})
export class Child {}
Мои фактические результаты - пустые массивы, но я ожидаю массив с Div1 и Div3 .Что я делаю не так?
ОБНОВЛЕНИЕ
Моя настоящая проблема:
У меня есть компонент, который знает, когда добавить / удалить класс CSS в некоторых элементах,Эти элементы могут быть в его собственном компоненте или его дочернем элементе, внуке и так далее.Другими словами, я пытаюсь выполнить угловой способ выполнить следующую строку:
let elements = document.querySelectorAll("div[element]")