我正在尝试使用AOT编译一个角度2的应用程序。在我的项目中,我使用了angular-2-json-schema-form,它导致了这样的错误:
属性是私有的,只能在类
中访问
编译我的应用时。
我认为问题出在TypeScript上。有人帮我解决了这个问题。
答案 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">