为什么angular docs建议不要使用公共和私有范围变量

时间:2015-05-31 20:29:33

标签: javascript angularjs api

我目前正在使用$$&来自$服务的location个变量,我只是偶然发现了这篇文档。它说不使用它们但不提供理由。请赐教! https://code.angularjs.org/1.3.15/docs/api

  

Angular Prefixes $和$$:防止意外名称冲突   您的代码,Angular前缀带有$和名称的公共对象的名称   带有$$的私有对象。请不要使用$或$$前缀   你的代码。

1 个答案:

答案 0 :(得分:2)

使用Angular' $ / $$ - 带前缀的内置插件是可以的。

Angular只是要求你不要使用这些前缀来创建自己的范围变量,服务等,因为它们是为Angular内置函数保留的,以避免命名冲突。

此推荐做法主要是为了面向未来的代码。我们假设,如果您今天创建$foo服务并且Angular的未来版本添加内置$foo,则会出现命名冲突。

遵循此建议,您不必在代码前加上$ / $$,并且不会与将来可能带有{{1}前缀的Angular内置新增内容冲突}} / $

作为副产品,它还可以轻松阅读代码,因为您可以更轻松地区分内置组件和自定义组件。