use*_*300 6 typescript angular
我从angular2开始,我想知道这个代码
export class HeroesComponent implements OnInit {
// Version 1
myHero: Hero = new Hero('Superman', 'Clark Kent');
// Version 2, 3
// myHero: Hero;
constructor() {
// Version 2
// this.myHero = new Hero('Superman', 'Clark Kent');
}
ngOnInit() {
// Version 3
// this.myHero = new Hero('Superman', 'Clark Kent');
}
}
Run Code Online (Sandbox Code Playgroud)
现在我已将myHero初始化为顶部,但我想知道,顶部是什么,构造函数内部应该是什么以及ngOnInit内部是什么?
因为据我所知,如果它位于顶部,它会立即执行,与构造函数一样,并且ngOnInit?
那有什么区别,什么是正确的?
谢谢
在声明和构造函数中分配值是完全相同的,实际上是这个的编译版本:
class HeroesComponent implements OnInit {
myHero: Hero = new Hero('Superman', 'Clark Kent');
}
Run Code Online (Sandbox Code Playgroud)
方法是:
var HeroesComponent = (function () {
function HeroesComponent() {
this.myHero = new Hero('Superman', 'Clark Kent');
}
return HeroesComponent;
}());
Run Code Online (Sandbox Code Playgroud)
至于那个ngOnInit,它取决于构造函数是否Hero取决于在ngOnInit被触发之前可能没有准备好的任何东西.
| 归档时间: |
|
| 查看次数: |
4252 次 |
| 最近记录: |