【问题标题】:Why do we use Constructor in Angular 2 or 4 [duplicate]为什么我们在 Angular 2 或 4 中使用构造函数 [重复]
【发布时间】:2018-02-19 12:50:11
【问题描述】:
创建构造函数的主要好处是什么。
export class OrderHistoryComponent{
constructor(private router:Router){}
userState = 'Login';
orders: Order[];
我们可以这样工作吗
export class OrderHistoryComponent {
router:Router){}
userState = 'Login';
orders: Order[];
只是创建对象。我们将不胜感激良好易懂的答案。
【问题讨论】:
标签:
angular
constructor
angular2-routing
【解决方案1】:
构造函数是类实例化时执行的类的默认方法。构造函数基本上确保所有类变量都被正确初始化。构造函数也用于依赖注入,如下所示:
constructor(heroService: HeroService) {
this.heroes = heroService.getHeroes();
}
【解决方案2】:
原因是Dependency Injection,是一个重要的应用程序设计模式:
constructor(heroService: HeroService) {
this.heroes = heroService.getHeroes();
}
构造函数参数类型、@Component 装饰器和
父母的提供者信息结合起来告诉 Angular 注入器
每当它创建一个新的时注入一个 HeroService 的实例
HeroListComponent。
查看上面的链接以了解更多信息。