加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:12:12 所属栏目:安全 来源:网络整理
导读:我已经开始使用Yo(yeoman)来支撑我的控制器,服务等角度。 我通常做一个 yo angular:service passwordService 我正在使用骆驼盒,因为这是它创建的文件的名称,但我注意到它也使用相同的名称为服务的名称,所以 passwordService 而不是 PasswordService 这里
我已经开始使用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(),但这与现有语言/样式指南的标准相反。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读