AngularJS:控制器/服务应该是Pascal Case? (在yeoman使用Yo)
我已经开始使用Yo(yeoman)来支撑我的控制器,服务等角度。
我通常做一个 yo angular:service passwordService 我正在使用骆驼盒,因为这是它创建的文件的名称,但我注意到它也使用相同的名称为服务的名称,所以 passwordService 而不是 PasswordService 这里最好的做法是什么? 谢谢
值得注意的是,在
Developer Guide在许多地方(包括链接到“服务”部分),AngularJS开发商使用骆驼盒第一小写为服务名称和其他东西。所以也许你会认为这是AngularJS的最佳做法。
也就是说,我认为从其他语言来说,更常见的是将服务和课程命名为第一大写字母,并且实际上是以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(),但这与现有语言/样式指南的标准相反。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |