我找不到:
之间的区别constructor (private router: Router) { }
和
router: Router;
constructor (private _router: Router) {
this.router = _router
}
变量router
在整个类中可用,它包含相同的数据。那么第一种语法和第二种语法之间的区别是什么?
答案 0 :(得分:1)
基本上这个:
constructor (private router: Router) { }
是此简短形式:
private router: Router;
constructor (_router: Router) {
this.router = _router
}
我个人在所有项目中使用第一种格式,因为它使文件更短,更容易阅读。
如果您对构造函数中的块有疑问,请回答 - 否。如果您使用的是我之前展示的简短形式,则无需在构造函数中放置任何内容。您可以将所有需要的初始化内容放入ngOnInit
函数中。
简短的例子:
@Component({
selector: 'my-cmp',
template: `<p>my-component</p>`
})
class MyComponent implements OnInit {
constructor(
private router: Router,
private myService: MyService
) { }
ngOnInit() {
console.log('ngOnInit');
}
}