【发布时间】:2018-05-15 15:44:03
【问题描述】:
我们正在从 Angular 5 升级到 Angular 6。我们有一个共享库,但我们遇到了构建错误。作为一家 Java 商店,我们养成了将组件方法和属性标记为私有的习惯。在 Angular 6 中构建我们的库时(在转换并使用新的库 CLI 功能之后),我们得到:
Property 'getCurrentYear' is private and only accessible within class.
实际上,模板 html 中使用的任何属性或方法都不能再在组件类上标记为私有。当然,我们可以通过删除 'private' 修饰符来解决这个问题。当我们使用https://github.com/raphael-volt/ng2-testable-lib 生成库时,Angular 5 中的情况并非如此。
奇怪的是,这只发生在编译我们的库时。我们将应用升级到 Angular 6,该应用在组件/模板中的使用方面也具有私有属性和方法,并且没有任何问题。
我们发现错误了吗?有没有我们没有遵守的最佳做法?
【问题讨论】:
-
由于AOT编译需要公开
标签: angular shared-libraries private