我正在尝试为我正在关注此 博客 的 生产 构建 angular2 应用程序。在 tsc 编译 发生时,我的 ngc 成功编译后,它会生成以下错误,如图所示:
搜索了一段时间后,我发现这个 博客 解释了 “上下文属性” 部分中的问题,我无法正确理解它可能会给你一些好主意,让你知道发生了什么错误。基本上,当我们将变量设为私有时,我们会得到 “错误:属性是私有的,只能在类中访问” 。
原文由 Sumit Khanduri 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试为我正在关注此 博客 的 生产 构建 angular2 应用程序。在 tsc 编译 发生时,我的 ngc 成功编译后,它会生成以下错误,如图所示:
搜索了一段时间后,我发现这个 博客 解释了 “上下文属性” 部分中的问题,我无法正确理解它可能会给你一些好主意,让你知道发生了什么错误。基本上,当我们将变量设为私有时,我们会得到 “错误:属性是私有的,只能在类中访问” 。
原文由 Sumit Khanduri 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需删除变量前面的“私人”访问修饰符即可。如果它是在构造函数中声明的实例,那么只需将“private”更改为“public”。
原文由 vaibhavi dhopate 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于给定组件,其模板访问的所有成员(方法、属性)在 AOT 编译场景中必须是公共的。这是因为模板变成了 TS 类。生成的类和组件现在是 2 个独立的类,您不能跨类访问私有成员。
简而言之:如果您想使用提前编译,则无法访问模板中的私有成员。
为了更好地解释 https://github.com/angular/angular/issues/11422