Angular - 绑定公共/私有属性
Posted
技术标签:
【中文标题】Angular - 绑定公共/私有属性【英文标题】:Angular - bind public/private properties 【发布时间】:2018-05-09 07:56:10 【问题描述】:我在 angular.io 做 Angular 教程,我在这里阅读:
constructor(**public** messageService: MessageService)
messageService
属性必须是public
,因为您即将在模板中绑定到它。Angular 只绑定到
public
组件属性。
我在这里强调public
。
但是,如果我在那里将 public
更改为 private
,一切都会像以前一样工作......
所以请引导我到可以打消疑虑的地方。
我的 Angular 版本:5.0.0,
谢谢!
【问题讨论】:
AFAIK,AOT 编译会抱怨private
属性,AOT 捆绑包也是 prod 构建的首选..
【参考方案1】:
这只是一个建议,以便您的项目与 AOT(Ahead Of Time)类型的构建过程兼容。您可以通过使用以下命令创建 AOT 构建来查看其影响:
ng build --prod
【讨论】:
【参考方案2】:如果您使用 Angular CLI 构建应用程序,在某些版本中,CLI 会吞下 Angular 在构建应用程序时抛出的错误。随着 CLI 更新,他们最终开始向用户显示错误并阻止应用程序成功构建。
查看 GitHub 上的this 问题以获取更多信息。
【讨论】:
【参考方案3】:是的,你是对的,但在生产模式下你不能将公共更改为私人。
this 在生产模式下显示错误
【讨论】:
以上是关于Angular - 绑定公共/私有属性的主要内容,如果未能解决你的问题,请参考以下文章