【发布时间】:2018-02-19 05:33:13
【问题描述】:
是否需要使用角度组件的构造函数来初始化字段?很多角度教程都这样做:
counter: number;
constructor() {
this.counter = 1;
}
而不仅仅是counter: number = 1。
【问题讨论】:
标签: javascript angular constructor lifecycle
是否需要使用角度组件的构造函数来初始化字段?很多角度教程都这样做:
counter: number;
constructor() {
this.counter = 1;
}
而不仅仅是counter: number = 1。
【问题讨论】:
标签: javascript angular constructor lifecycle
两者都是正确的编程方式,
在构造函数中初始化
在构造函数中初始化是个好习惯,这是一种声明+初始化的代码分离。
这将提高您的代码可读性,并且您将确信所有 仅在构造函数中初始化的值。因为在构造函数中是创建对象的时候,也是初始化变量的时候。
在构造函数之外初始化
使用构造函数初始化的一个问题是,需要更多代码 写,当你有很多变量可以使用时,在这种情况下你 应该直接使用
counter: number = 1,在这种情况下你可以检查 单行声明+初始化,但在上述情况下,您 必须经过两步声明+初始化
当您在生命周期挂钩(例如NgOnInit / NgAfterViewInit)与constructor 中选择初始化时,这真的很重要。要么只是一种编码风格
【讨论】: