AngularJS:控制器/服务应该是Pascal Case? (在yeoman使用Yo)

前端之家收集整理的这篇文章主要介绍了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(),但这与现有语言/样式指南的标准相反。

原文链接:https://www.f2er.com/angularjs/144458.html

猜你在找的Angularjs相关文章