Angular 2.财产是私人的,只能在课堂上访问

时间:2017-04-02 07:51:34

标签: angular typescript

我正在尝试使用AOT编译一个角度2的应用程序。在我的项目中,我使用了angular-2-json-schema-form,它导致了这样的错误:

  

属性是私有的,只能在类

中访问

编译我的应用时。

我认为问题出在TypeScript上。有人帮我解决了这个问题。

2 个答案:

答案 0 :(得分:0)

根据这个GitHub Issue,它是因为prod构建默认使用Ahead of Time编译。您可以通过关闭AOT或使用公共属性来解决此问题。

答案 1 :(得分:0)

最可能的问题是你在component.html中有一些像{{myService.value}}或者你有一个枚举并在你的component.html中使用directy(例如。

如果您使用的是myService.value,请使用getter

get value(){
   return myService.value;
}
//in your .html
{{value}}

如果您的问题是因为您正在使用枚举,请声明变量

IEnum=Enum

//in your .html
<div *ngIf="value==IEnum.Case1">