angular 2 구성 요소 의 생명주기 갈고리
생명주기 집행 의 선후 순서에 따라 Angular 생명주기 인 터 페 이 스 는 다음 과 같다.
명칭.
타 이 밍
인터페이스
범위.
ngOnChanges
바 인 딩 된 입력 속성의 값 이 변 경 될 때 호출,첫 번 째 호출 은 반드시 발생 합 니 다. ngOnInit 전에
OnChanges
명령 과 구성 요소
ngOnInit
1 라운드 에서 ngOnChanges 완성 후 호출. ( 번역 주:즉,모든 입력 속성의 값 이 한 번 촉발 되 었 을 때 ngOn Changes 이후 에 호출 됩 니 다. ngOnInit ,이 때 모든 입력 속성 에 정확 한 초기 귀속 값 이 있 습 니 다 )
OnInit
명령 과 구성 요소
ngDoCheck
각각 Angular 검사 주기 변경 중 호출.
DoCheck
명령 과 구성 요소
ngAfterContentInit
구성 요소 에 내용 을 투영 한 후 호출 합 니 다.
AfterContentInit
구성 요소
ngAfterContentChecked
투영 구성 요소 의 내용 변경 검 사 를 완료 할 때마다 호출 됩 니 다.
AfterContentChecked
구성 요소
ngAfterViewInit
구성 요소 보기 와 하위 보 기 를 초기 화 한 후 호출 합 니 다.
after initializing the component's views and child views.
AfterViewInit
구성 요소
ngAfterViewChecked
구성 요소 보기 와 하위 보기 의 변경 검 사 를 마 칠 때마다 호출 합 니 다.
AfterViewChecked
구성 요소
ngOnDestroy
...해 야 한다 Angular 매번 소각 명령 /구성 요소 이전 호출.
OnDestroy
명령 과 구성 요소
라 이 프 사이클 순서 약자
Angular 가 구조 함 수 를 통 해 구성 요소/명령 을 만 들 때 이 수명 주기 갈고리 방법 을 호출 하 는 순 서 는 다음 과 같 습 니 다.
라 이 프 사이클 순 서 를 테스트 하 는 코드
import {Component} from '@angular/core';
import {bootstrap} from '@angular/platform-browser-dynamic';
@Component({
selector: 'panel',
inputs: ['title', 'caption'],
template: '<ng-content></ng-content>'
})
class Panel {
// ( ngOnInit 。)
ngOnChanges(changes) {
console.log('On changes', changes);
}
// ( ngOnChanges 。 ( : ngOnChanges ngOnInit , ))
ngOnInit() {
console.log('Initialized');
console.warn('OnChanges DoCheck , !。 ');
}
//
ngDoCheck() {
console.log('Do check');
}
//
ngOnDestroy() {
console.log('Destroy');
}
// - - PS: ContentChild Contentchildren
ngAfterContentInit() {
console.log('After content init');
}
//
ngAfterContentChecked() {
console.log('After content checked');
}
// PS: ViewChild ViewChildren
ngAfterViewInit() {
console.log('After view init');
}
//
ngAfterViewChecked() {
console.log('After view checked');
}
}
@Component({
selector: 'app',
template: `
<button (click)="toggle()">Toggle</button>
<div *ngIf="counter % 2 == 0">
<panel caption="Sample caption" title="Sample">Hello world!</panel>
</div>
`,
directives: [Panel]
})
class App {
counter: number = 0;
toggle() {
this.counter += 1;
}
}
bootstrap(App);
출력 결과이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Angular에서 타사 스크립트 및 CSS 작업Angular 방식으로 회로도가 있는 외부 라이브러리를 추가하거나 모듈을 가져옵니다. Angular.json은 Angular 프로젝트의 모든 설정 파일이며 표준 JavaScript 및 CSS 파일과 함께 타사 라이브...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.