Angular中ngOnInit的必要性~为什么constructor不可行~

Angular 是什么?

「Angular(拉丁轉寫:「安ㄍㄨㄩㄦ哆」)」是由Google開發的JavaScript框架。
在創建應用程序時,經常需要觸發某些事件,例如點擊頁面時。如果要實現這一點,則需要使用ngOninit(無法在構造函數中實現)。

构造函数是

这是与TypeScript和JavaScript相关的一项功能,会在类的初始化时触发。

class Hoge {
    id: number
    constructor(num: number) { 
        this.id = num;
    }
}
let h = new Hoge(1)
console.log(h.id)
==> 1

ngOnInit是什么

Angular的一部分。
生命周期是指指令和组件在变化时可以设置回调函数的机制。

换句话说,我们可以利用Angular的生命周期来执行操作。
下面使用的是Angular生命周期中的一个ngOnInit(在组件初始化时触发)。

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-hoge',
  templateUrl: './hoge.component.html',
  styleUrls: ['./hoge.component.scss']
})
export class HogeComponent implements OnInit {

  constructor(
  ) {
   console.log('constructor');
  }

  ngOnInit() {
    console.log('ngOnInit');
  }
}
===> 'constructor'
===> 'ngOnInit'

总结

在Angular中,constructor在组件创建过程中被执行。
ngOnInit在组件创建后被调用。
因此,从UIUX的角度来看,如果希望在创建应用程序时在点击页面时触发事件,可以通过使用ngOnInit(生命周期)来轻松实现此需求。

请参阅

广告
将在 10 秒后关闭
bannerAds