什么是关于私有隔离范围属性的“$”美元符号前缀的AngularJS最佳实践?

时间:2014-08-21 18:38:20

标签: angularjs

documentation似乎不鼓励它。但是,例如,angularstrap使用“$”作为指令中隔离范围的私有属性的前缀。为了这个目的,我一直在使用下划线“_”,但是想听听有角度的社区对它的看法。

1 个答案:

答案 0 :(得分:0)

在角度声明所有这些$ -prefixed属性之前,很多AngularUI代码都已编写(或开始编写)。

我倾向于使用_作为真正的私有内容(例如_internalSaveRepresentation()或_privateVariable),并且在用户可以合理地期望添加属性的对象上放置$前缀,出于同样的原因。所以,DataModel。$ save()或。$ id(指向_id或id或_idAttribute中设置的任何用户)。这样,如果有一个DataModel引用了一个save属性(可能是'save'复选框的状态),它就不会意外覆盖$ save()方法。

重要的是不要在注入器 - 全局级别声明具有$ name(如$ route或$ location)的模块,而不是挂起具有$的服务对象的属性。