我试图完成angular.io/tutorial但后来我专注于一个特定的建议,here . Angular说,我在引用,它可以
仅绑定到公共组件属性
这是真的吗?尝试学习的东西不仅仅是教程本身,我测试自己,如果HTML可以访问导出类中的服务,如果它是私有的,受保护的或公共的,它确实!一切正常 .
所以我的问题是三个:我从Angular教程文档中引用的陈述是真的吗?这只是一种编程方式,一种“好习惯”? Angular生命周期中发生了什么让某人认为服务的可见性不应该是私有的?
遵循OOP准则,将对象的资源显示给他自己的私有属性是正常的行为,不是吗?
1 回答
Angular以不同的模式运行,用于开发或 生产环境 . 使用AOT编译项目以进行 生产环境 时(模板编译为JavaScript) . Angular编译器将抛出私有或受保护的访问错误 .
作为开发的默认模式的运行时编译器仅编译浏览器中的模板 . 将TypeScript转换为JavaScript并且访问修饰符丢失后 .
所以你只测试了开发模式中发生的事情 .