Angular 2:声明和初始化变量的最佳方式

时间:2017-11-20 14:00:28

标签: angular typescript design-patterns

我正在研究Angular Style Guide,但我怀疑,在组件中初始化变量的最佳方法是什么?

例如,我声明一个这样的变量:

export class MyComponent implements OnInit {

  myModel: MyModel= new MyModel();

  //...
}

或者像这样:

export class MyComponent implements OnInit {

  myModel = new MyModel();

  //...
}

或者这个:

export class MyComponent implements OnInit {

  myModel: MyModel;

  constructor() {
    this.myModel = new MyModel();
  }

  //...
}

还是另一种最佳方式? 这是我正在阅读的Style Guide

2 个答案:

答案 0 :(得分:0)

第一种方式是多余的,"name" : type = new objectType(); 已经指定了变量类型; 第二个是好的,你指定在类中有一个PUBLIC变量。 第三个也很好,但请记住,将变量绑定到类的实例。

我个人总是使用第二个。如果您使用TextEditor - > Visual Studio Code,下载插件TSlint,非常适合语法帮助!

希望这有帮助

答案 1 :(得分:0)

我不认为第二个是"正确"。由于您没有类型信息。因此,您可以稍后为变量分配完全不同的类型。

对于其他两个,我认为这取决于个人偏好,并没有明确的风格指南。

当我需要变量默认分配或我不允许更改时,我使用第一个(你也可以添加一个只读标志)

所有其余的第三个。因此,无论是初始化还是模型引用都可能多次更改无关紧要。

在您的示例中,因为您在构造函数中设置了值,我个人会选择第一个。