我开始学习 Angular v2 和 ionic v2。
在 ng2 英雄教程中,他们在构造函数中使用 private 关键字,但在 ionic 样板源中,他们在构造函数中使用 public 关键字。
Angular2教程
heroes: Hero[];
constructor(
private heroS: HeroService,
private router: Router
) { }
ngOnInit() {
this.heroS.getHeroes().then(heroes => {
this.heroes = heroes;
})
}
ionic 教程
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
反编译成es5
后,.js
文件中的public和private是一样的。
但我真的不明白有什么区别。
最佳答案
我相信 Ionic 样板代码在构造函数中使用公共(public)成员,以便能够利用 Ahead of Time (AoT) Compilation 。 请参阅Angular 2 Ahead-of-Time compiler: must I make all class properties public? .
关于angularjs - 在 angular2 constructor() 中使用 private 与 public 关键字有什么不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693032/