24

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

看起来 Angular 附带的所有东西都有前缀服务,例如$http. 然而,控制器$在大多数文章中都没有前缀。此外,所有 Angular 代码都带有名为 in 的服务camelCase,但是我PascalCase在许多在线博客中也看到过。哪一个是公约?

4

3 回答 3

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其他一切。

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

于 2014-09-14T07:09:16.387 回答
19

文档为内部服务声明了此约定,但也声明您不应该为自己的服务这样做以减少命名冲突。

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

此外,关于camelCase,文档说要使用camelCase。

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

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

于 2013-04-01T17:59:05.577 回答
-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;
        });
于 2017-03-20T17:48:55.857 回答