Angular JS命名约定($,camelCase和PascalCase)

时间:2013-04-01 17:56:54

标签: angularjs

AngularJS中为$提供商添加前缀的约定是什么? 我应该在我自己的代码中为所有自定义服务添加前缀吗?

看起来角上的所有内容都有前缀服务,例如: $http。但是,在大多数文章中,控制器不以$为前缀。 此外,所有角度代码都附带camelCase中命名的服务,但我也在网上的许多博客中看到PascalCase。哪一个是惯例?

3 个答案:

答案 0 :(得分:21)

  1. 对于控制器和返回应该被新建的构造函数的函数使用PascalCase,例如: var user = new User()。 Angular中的控制器被视为范围构造函数 - 因此是PascalCase。

  2. 控制器名称中应附加Controller。有关命名示例,请参阅http://demisx.github.io/angularjs/2014/09/14/angular-what-goes-where.html

  3. camelCase用于其他所有内容。

  4. 这些遵循世界各地的开发人员习惯的重要Javascript约定。

答案 1 :(得分:19)

文档说明了此内部服务约定,但也指出您不应该为自己的服务执行此操作以减少命名冲突。

http://docs.angularjs.org/guide/concepts#angular_namespace

另外,关于camelCase,文档说使用camelCase。

  

Angular使用name-with-dashes作为属性名称和camelCase for   相应的指令名称

http://docs.angularjs.org/tutorial/step_00

答案 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;
        });