AngularJS 中使用 $ 前缀提供程序的约定是什么?我应该在自己的代码中为所有自定义服务添加前缀吗?
看起来 Angular 附带的所有东西都有前缀服务,例如$http
. 然而,控制器$
在大多数文章中都没有前缀。此外,所有 Angular 代码都带有名为 in 的服务camelCase
,但是我PascalCase
在许多在线博客中也看到过。哪一个是公约?
AngularJS 中使用 $ 前缀提供程序的约定是什么?我应该在自己的代码中为所有自定义服务添加前缀吗?
看起来 Angular 附带的所有东西都有前缀服务,例如$http
. 然而,控制器$
在大多数文章中都没有前缀。此外,所有 Angular 代码都带有名为 in 的服务camelCase
,但是我PascalCase
在许多在线博客中也看到过。哪一个是公约?
用于PascalCase
控制器和返回应该是新的构造函数的函数,例如var user = new User()
. Angular 中的控制器被视为作用域构造函数——因此是 PascalCase。
控制器应该Controller
附加在他们的名字中。有关命名示例,请参见http://demisx.github.io/angularjs/2014/09/14/angular-what-goes-where.html。
用于camelCase
其他一切。
这些遵循世界各地的开发人员习惯的重要 Javascript 约定。
文档为内部服务声明了此约定,但也声明您不应该为自己的服务这样做以减少命名冲突。
http://docs.angularjs.org/guide/concepts#angular_namespace
此外,关于camelCase,文档说要使用camelCase。
Angular 使用 name-with-dashes 作为属性名,使用 camelCase 作为相应的指令名
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;
});