You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Angular组件的Typescript文件未自动生成Constructor与OnInit生命周期?

Angular新版本生成组件默认不带OnInit与constructor?这么解决

Angular CLI后续更新了组件生成的默认模板,去掉了无实际作用的空constructor和未实现方法的OnInit接口——毕竟空constructor在没有依赖注入时完全可以省略,未使用的OnInit接口也没必要声明。但如果你习惯默认生成这些内容,有两种解决方式:

1. 生成组件时添加命令参数

每次创建组件时带上--onInit=true参数,CLI就会自动生成包含OnInit导入、接口实现、空ngOnInit方法的组件,同时自动添加空constructor:

ng generate component new-component --onInit=true

2. 修改全局配置,一劳永逸

打开项目根目录的angular.json文件,找到对应项目的schematics节点(没有则手动添加),给@schematics/angular:component配置onInit: true,之后所有新生成的组件都会默认带上OnInit相关代码和空constructor:

{
  "projects": {
    "你的项目名称": {
      "schematics": {
        "@schematics/angular:component": {
          "onInit": true
        }
      }
    }
  }
}

补充:如果组件需要依赖注入,CLI会自动生成带参数的constructor,无需手动编写。

内容的提问来源于stack exchange,提问作者Phil Eze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 02:05:23