codememo

각도 2 구성 요소 생성기 대 OnInit

tipmemo 2023. 10. 20. 13:43
반응형

각도 2 구성 요소 생성기 대 OnInit

구성 요소가 로드될 때마다 함수 x가 실행되도록 하려면 처음이든 다른 사이트로 이동하여 다시 이동하거나 구성 요소가 로드된 것이 다섯 번째입니다.

함수 x를 무엇에 넣어야 합니까?구성 요소 생성자 또는 OnInit?

생성자는 미리 정의된 형식 스크립트 클래스의 기본 메서드입니다.Angular 와 Angular 사이에는 관계가 없습니다.constructor. 우리는 보통 사용합니다.constructor일부 변수를 정의/초기화하지만, Angular의 바인딩과 관련된 작업이 있을 때 Angular의 것으로 이동합니다.ngOnInit생애 주기 고리ngOnInit생성자 호출 직후에 호출됩니다.시공자에서도 동일한 작업을 할 수 있지만 사용하는 것이 좋습니다.ngOnInit앵귤러의 바인딩을 시작합니다.

사용하기 위하여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()는 타이프스크립트 기능으로 호출됩니다.new SomeClass(). 생성자는 클래스 계층 구조에서 적절한 필드 초기화 순서를 보장합니다.

ngOnInit는 Angular2 라이프사이클 방식으로 구성요소 구축이 완료되고 바인딩을 평가하고 입력을 처음으로 업데이트한 후 Angular가 호출합니다.

생성자와 ngOnInit의 차이 참고 항목

언급URL : https://stackoverflow.com/questions/35845554/angular-2-component-constructor-vs-oninit

반응형