尝试像这样做:
演示
注:此链接为一个演示页面。
<div *ngFor="let i of arr;let j = index" id=item{{j}}>
{{i}}
</div>
TS:
import { Component, AfterViewInit } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements AfterViewInit {
arr: Array<any> = [1, 2, 3, 4]
ngAfterViewInit() {
let data1 = document.getElementById('item0')
let data2 = document.getElementById('item1')
let data3 = document.getElementById('item2')
let data4 = document.getElementById('item3')
console.log(data1)
console.log(data2)
console.log(data3)
console.log(data4)
}
}
针对Mat-Tab:
演示
import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements AfterViewInit {
@ViewChild("main") main: ElementRef;
name = 'Angular';
Tabs: Array<any> = [{ name: 'Tab1' }, { name: 'Tab2' }, { name: 'Tab3' }]
ngAfterViewInit() {
let el = document.getElementById("main");
console.log(el);
let elh = el.children.item(0).children.item(1).children.item(0).children.item(0).children;
elh.item(0).setAttribute("style", "color:red;")
elh.item(1).setAttribute("style", "color:green;")
elh.item(2).setAttribute("style", "color:cyan;")
}
}
HTML:
<mat-tab-group id = "main">
<mat-tab *ngFor="let tab Of Tabs;let i= index" [label]="tab.name"> Content {{i}} </mat-tab>
</mat-tab-group>