我已经开始使用Yo(yeoman)来支撑我的控制器,服务等角度。
我通常做一个
yo angular:service passwordService
我正在使用骆驼盒,因为这是它创建的文件的名称,但我注意到它也使用相同的名称为服务的名称,所以
passwordService
而不是
PasswordService
这里最好的做法是什么?
谢谢
值得注意的是,在
Developer Guide在许多地方(包括链接到“服务”部分),AngularJS开发商使用骆驼盒第一小写为服务名称和其他东西。所以也许你会认为这是AngularJS的最佳做法。
原文链接:https://www.f2er.com/angularjs/144458.html也就是说,我认为从其他语言来说,更常见的是将服务和课程命名为第一大写字母,并且实际上是以JavaScript为例,这似乎是特别重要的。考虑你有一个名为user的类,那么你会调用一个包含用户实例的变量呢?你不能非常尴尬/容易出错的影片来称呼它。
在AngularJS中,您的$资源服务将最终成为您的旧版“OO JavaScript”课程。看:
angular.module('Foo',[],function() {}).factory('User',function() { var User = $resource('/api/user'); User.prototype.getFullName = function() { return this.firstName + ' ' + this.lastName; }; return User; });
看看我要去哪里?您将最终注入新的User $资源并实例化:
function MyController($scope,User) { var someNewUser = new User(); };
或者,您将需要使用简单的var名称来迭代多个用户,如用户当前项:
angular.forEach(someUsers,function(user) { // Good thing you didn't name your $resource "user"! // Weird/undesirable shadowing would result here then... });
让我知道,如果您需要更多的澄清,为什么我认为最佳实践是第一个大写的类/服务名称给定的JavaScript的上下文。 (相比之下,考虑到在PHP中,var名称前缀为$,因此,var名称和类名之间不会发生遮挡。$ User = new User()非常好)
当然,您可以在JS中使用User = new user(),但这与现有语言/样式指南的标准相反。