Пожалуйста, смотрите ниже код.получить дочерний элемент в угловой 2
import { Component,ViewChild,QueryList,ViewChildren } from '@angular/core'
@Component ({
selector : 'other-component',
template : `
<h2>OtherComponent<h2>
<table #tab id="tab">
<tr *ngFor="let val of valArray">
<td>{{val}}</td>
<input type="checkbox" [value]="val">
</tr>
</table>
<button (click)="getChecked()">click me</button>`
})
export class OtherComponent{
valArray = ['one','two','three','four'];
@ViewChild ('tab') elem;
getChecked =() => {
console.log (this.elem.nativeElement.children[0].children)
}
}
В конце строки таблицы есть флажок, который был присвоен значение строки (объект JSON) теперь я хочу, чтобы собрать все проверенные коробки в угловом 2.
В простом JavaScript я могу сделать это легко, как показано ниже
var yy = document.getElementById('tab').getElementsByTagName('input');
Я получил то, что я искал по this.elem.nativeElement.children[0].children
это дало мне массив тр Элементы, из которых я получил проверочные коробки ввода
Есть ли лучший способ сделать это в угловом 2?
Спасибо, намерение мой вопрос, как добраться до элементов, вложенных друг в друга глубоко в HTML-страницы, а не дает локальную ссылку я хотел бы получить их по их имени тега – Nomad
Возможно, '@ContentChildren ('tab', {descendants: true})' в противном случае использовать 'querySelectorXxx' –
Вместо того, чтобы печатать значения флажков, как я могу снять их с нажатия кнопки ? То, как я могу думать, - это вызвать метод, который бы сделал что-то вроде этого: this.checkboxes.toArray(). Map (x => x.checked = false); Но это как-то не работает. – Aiguo