![]()
import {
Component,
OnInit,
Input,
Output,
EventEmitter,
SimpleChanges,
OnChanges,
AfterContentInit,
AfterContentChecked,
AfterViewChecked,
AfterViewInit
} from '@angular/core';
export interface TopMenu {
title: string;
link: string;
}
@Component({
selector: 'app-scroll-table-tab',
templateUrl: './scroll-table-tab.component.html',
styleUrls: ['./scroll-table-tab.component.css']
})
export class ScrollTableTabComponent
implements
OnInit,
OnChanges,
AfterContentInit,
AfterContentChecked,
AfterViewInit,
AfterViewChecked {
selectedIndex = -1;
@Input() menus: TopMenu[] = [];
@Input() backgroundColor = '#fff';
@Input() titleColor = 'red';
@Input() titleActiveColor = 'red';
@Input() bottomBorderColor = 'yellow';
@Output() tabSelected = new EventEmitter();
/*
*构造函数永远首先被调用
*/
constructor() {
console.log('组件构造调用');
}
/**
* 在组件的 `@Input` 属性发生变化的时候调用
* @param changes 索引对象,key 是属性的名字,value是 SimpleChange
*/
ngOnChanges(changes: SimpleChanges): void {
console.log('组件输入属性改变', changes);
}
/*
*组件初始化完成,在这个函数中,我们可以安全的使用
*/
ngOnInit() {
console.log('组件初始化');
}
/**
* 组件内容初始化
*/
ngAfterContentInit(): void {
console.log('组件内容初始化');
}
/**
* 组件内容脏值检测
*/
ngAfterContentChecked(): void {
console.log('组件的内容脏值检测');
}
/**
* 组件的视图初始化
*/
ngAfterViewInit(): void {
console.log('组件的视图初始化');
}
/**
* 组件视图脏值检测
*/
ngAfterViewChecked(): void {
console.log('组件视图脏值检测')
}
/**
* 需要做一些清理工作
*/
ngOnDestroy(): void {
console.log('组件销毁')
}
![]()