不了解AngularJS函数命名约定

时间:2014-11-12 16:33:55

标签: angularjs

我在多个地方看到AngularJS中的函数以大写(但不总是)开头。在JohnPapa的风格指南

https://github.com/johnpapa/angularjs-styleguide#named-vs-anonymous-functions

他展示了以下内容。我没有得到的是为什么Dashboard以大写字母开头而logger是小写的。不应该是那些?

/* recommended */

// dashboard.js
angular
  .module('app')
  .controller('Dashboard', Dashboard);

function Dashboard() { }

// logger.js
angular
  .module('app')
  .factory('logger', logger);

function logger() { }

2 个答案:

答案 0 :(得分:1)

这就是他所说的here

  

为以其功能命名的所有控制器使用一致的名称。使用UpperCamelCase作为控制器,因为它们是构造函数。

     

为什么?:UpperCamelCase是识别可以使用构造函数实例化的对象的常规方法。

答案 1 :(得分:0)

控制器以大写字母开头,服务以小写字母开头。放置好的做法包括控制器/服务这两个词:

 angular.module('app', [])
   .controller('DashboardController', [function Dashboard() { 
   }])
   .factory('loggerService', [function (){
   }]);