Angular 2 구성 요소 생성자 대 OnInit [중복]
이 질문에 이미 답변이 있습니다.
- 생성자와 ngOnInit의 차이점 23 답변
처음에 구성 요소가로드 될 때마다 x 함수가 발생하도록하려면 다른 사이트로 이동하여 뒤로 이동하거나 구성 요소가 다섯 번째로로드 될 때마다 수행합니다.
함수 x를 무엇에 넣어야합니까? 구성 요소 생성자 또는 OnInit?
생성자는 typescript 클래스의 미리 정의 된 기본 메서드입니다. Angular와 constructor
. 일반적으로 constructor
일부 변수를 정의 / 초기화하는 데 사용 하지만 Angular의 바인딩과 관련된 작업이 있으면 Angular의 ngOnInit
라이프 사이클 후크 로 이동합니다 . ngOnInit
생성자 호출 직후에 호출됩니다. 생성자에서 동일한 작업을 수행 할 수도 있지만 ngOnInit
Angular의 바인딩을 시작하는 데 사용 하는 것이 좋습니다 .
사용 ngOnInit
하려면 코어 라이브러리에서이 후크를 가져와야합니다.
import {Component, OnInit} from '@angular/core'
그런 다음 내 보낸 클래스를 사용하여이 인터페이스를 구현합니다 (이 인터페이스를 구현해야하는 것은 아니지만 일반적으로 수행했습니다).
둘 다 사용하는 예 :
export class App implements OnInit{
constructor(){
//called first time before the ngOnInit()
}
ngOnInit(){
//called after the constructor and called after the first ngOnChanges()
}
}
자세한 내용 은 생성자와 ngOnInit의 차이점을 참조하십시오.
첫 번째 (생성자)는 클래스 인스턴스화와 관련이 있으며 Angular2와 관련이 없습니다. 생성자는 모든 클래스에서 사용할 수 있음을 의미합니다. 새로 생성 된 인스턴스에 대해 초기화 처리를 할 수 있습니다.
두 번째는 Angular2 구성 요소의 수명주기 후크에 해당합니다.
ngOnChanges
입력 또는 출력 바인딩 값이 변경 될 때 호출됩니다.ngOnInit
첫 번째 이후에 호출됩니다ngOnChanges
따라서 ngOnInit
함수의 초기화 처리가 구성 요소의 바인딩 (예 :로 정의 된 구성 요소 매개 변수 @Input
) 에 의존 하는 경우 사용해야 합니다 . 그렇지 않으면 생성자로 충분합니다.
constructor()
typescript 기능이며 new SomeClass()
. 생성자는 클래스 계층 구조에서 적절한 필드 초기화 순서를 보장합니다.
ngOnInit
컴포넌트 빌드를 완료하고 바인딩을 평가하고 처음으로 입력을 업데이트 한 후 Angular에서 호출하는 Angular2 라이프 사이클 메서드입니다.
생성자와 ngOnInit의 차이점 도 참조하십시오.
참고 URL : https://stackoverflow.com/questions/35845554/angular-2-component-constructor-vs-oninit
'IT story' 카테고리의 다른 글
java.io.PrintWriter와 java.io.BufferedWriter의 차이점은 무엇입니까? (0) | 2020.09.09 |
---|---|
런타임에 텍스트 상자의 텍스트를 굵게 설정하려면 어떻게합니까? (0) | 2020.09.09 |
"접기"LINQ 확장 방법은 어디에 있습니까? (0) | 2020.09.09 |
UNIX mailx 명령을 통해 어떻게 이메일을 보낼 수 있습니까? (0) | 2020.09.09 |
Razor 구문은 UI 마크 업에서 강력한 이점을 제공합니까? (0) | 2020.09.09 |