标识符指的是组件的私有成员

Sam*_*ath 18 typescript ionic2 ionic3 angular

html的

  <offline-picks *ngFor="let pick of pickData" [data]="pick"></offline-picks>
Run Code Online (Sandbox Code Playgroud)

.TS

export class OfflineArticlesPage {
  private pickData: picksModel[] = [];
  constructor(private localCacheService: LocalCacheServiceProvider) {
  }
}
Run Code Online (Sandbox Code Playgroud)

当我使用private member如上所示时,它显示下面的错误.我在编辑器上使用Angular Language Service扩展VS code.

[Angular]标识符'pickData'指的是组件的私有成员

希望private members在组件内部使用是不是很好的编程习惯?但作为上述问题的解决方案,如下面对扩展的回购评论.

语言服务将发出这些错误,因为它们在AOT期间会出错.最终,您需要解决这些问题.

我们计划支持AOT中私人和受保护成员的访问,但至少在6.0(明年春天)之前不会降落.

那么你能告诉我在组件上声明成员的最佳方法是什么?

更新:

我使用ionic cordova run android --prod --deviceCLI命令和最新的Ionic "ionic-angular": "3.5.3",.但它在我的Android设备上运行良好.这意味着它工作得很好,AOT太没了?那为什么会出现这个错误(或实际警告)?

Ami*_*mit 15

他们必须public为了AoT工作.

有关详细信息,请参阅此处:https: //github.com/angular/angular/issues/11978

  • 我使用上面的链接了解了很多关于这个问题.非常感谢你:) (2认同)