AngularJS中为$提供商添加前缀的约定是什么? 我应该在我自己的代码中为所有自定义服务添加前缀吗?
看起来角上的所有内容都有前缀服务,例如: $http
。但是,在大多数文章中,控制器不以$
为前缀。
此外,所有角度代码都附带camelCase
中命名的服务,但我也在网上的许多博客中看到PascalCase
。哪一个是惯例?
答案 0 :(得分:21)
对于控制器和返回应该被新建的构造函数的函数使用PascalCase
,例如: var user = new User()
。 Angular中的控制器被视为范围构造函数 - 因此是PascalCase。
控制器名称中应附加Controller
。有关命名示例,请参阅http://demisx.github.io/angularjs/2014/09/14/angular-what-goes-where.html。
将camelCase
用于其他所有内容。
这些遵循世界各地的开发人员习惯的重要Javascript约定。
答案 1 :(得分:19)
文档说明了此内部服务约定,但也指出您不应该为自己的服务执行此操作以减少命名冲突。
http://docs.angularjs.org/guide/concepts#angular_namespace
另外,关于camelCase,文档说使用camelCase。
Angular使用name-with-dashes作为属性名称和camelCase for 相应的指令名称
答案 2 :(得分:-1)
We can filter Text in CamelCase using following code
app.filter('camelCase', function(){
var camelCaseFilter = function(input){
var words = input.split(' ');
for (var i = 0, len = words.length; i < len; i++)
words[i] = words[i].charAt( 0 ).toUpperCase() + words[i].slice(1);
return words.join(' ');
};
return camelCaseFilter;
});