【问题标题】:Angular service visibility is really important?Angular 服务可见性真的很重要吗?
【发布时间】:2018-05-31 06:58:48
【问题描述】:

我试图完成 angular.io/tutorial,但后来我专注于一个特定的建议,here。 Angular 说,我在引用,它可以

只绑定到公共组件属性

这是真的吗? 尝试学习的不仅仅是教程本身,我测试了自己的 HTML 是否可以访问导出类中的服务,无论它是私有的、受保护的还是公共的,并且确实如此!一切正常。

所以我的问题是三个:我从 Angular 教程文档中引用的陈述是真的吗?这只是一种编程方式,一种“好习惯”? Angular 生命周期中发生了什么让人们认为服务的可见性不应该是私有的?

按照 OOP 准则,将对象的资源显示给他自己的私有属性是正常的行为,不是吗?

【问题讨论】:

    标签: angular


    【解决方案1】:

    Angular 在开发或生产中以不同的模式运行。当您使用 AOT(模板被编译成 JavaScript)编译项目以进行生产时。 Angular 编译器会抛出 privateprotected 访问错误。

    作为默认开发模式的运行时编译器只编译浏览器中的模板。在 TypeScript 转换为 JavaScript 并且访问修饰符丢失之后。

    所以您只测试了开发模式期间发生的情况。

    【讨论】:

    • 谢谢!请问,我怎样才能通过AOT编译?因为我认为我已经通过“tsc”做到了,但这可能是一个错误,阅读你的答案。还是不行?
    • 这是 CLI 上的一个选项:github.com/angular/angular-cli/wiki/…
    • Ng build —prod —aot
    猜你喜欢
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多