有没有人知道在我们构建应用程序时是否存在任何官方或最常被接受的Angular命名约定参考?
Angular有许多不同类型的组件,如过滤器,指令,服务等.你不同意我们在我们的应用程序中实现它们时有参考命名约定会有意义吗?
例如:
如果我们需要创建新过滤器,我们应该如何将它们命名为[Something] Filter或过滤[Something]或其他内容?
同样适用于控制器,服务,指令等.
我想知道的其他事情是属于范围的变量/函数应该具有特殊的前缀或后缀.在某些情况下,有一种方法可以将它们与函数和其他函数(无角度代码)区分开来.
我有两个第三方模块,都定义了一个同名的工厂.显然,如果不诉诸于kludge,我无法控制这些模块的命名.
另外,我还有两个内部模块,每个模块使用两个第三方模块中的不同模块作为依赖项(如下所示).我确信我无法从当前模块的依赖项中未列出的模块访问组件,但事实证明我错了.
在这里,即使own1依赖于thirdParty1(已hello定义为hello world)它在控制器中获取hi there(来自thirdParty2).其他模块的配对也是如此.
有没有办法"隔离"模块,所以我只能使用我明确依赖的东西?如果没有,如果我可以随时达到任何目的,那么拥有模块有什么意义(假设主应用程序模块将其作为依赖项)?此外,如果我有两个模块组件命名hello,我怎么知道将使用哪个?
这是jsbin的http://jsbin.com/vapuye/3/edit?html,js,output
angular.module('app', ['own1', 'own2']);
//third-party modules
angular.module('thirdParty1', []).factory('hello', function () {
  return 'hello world';
});
angular.module('thirdParty2', []).factory('hello', function () {
  return 'hi there';
});
// "own" modules
angular.module('own1', ['thirdParty1']).controller('Own1Ctrl', function(hello) {
  this.greet = hello;
});
angular.module('own2', ['thirdParty2']).controller('Own2Ctrl', function(hello) {
  this.greet = hello;
});
结果如下:
<body ng-app="app">
  <div ng-controller="Own1Ctrl as own1">
    Own1: {{ own1.greet …我查看了一些angularJS教程和样式指南,并找到了这样的评论(来自Todd Motto)
Bad:
var app = angular.module('app', []);
app.controller();
app.factory();
Good:
angular
  .module('app', [])
  .controller()
  .factory();
我首先通过示例学习了"坏"技术,并且从那以后看到一些参考(除了这一个)之外说"坏"技术是......好坏.
到目前为止,在我的搜索中没有人说为什么它不好?
编辑: 为什么这个问题有所不同? 虽然这与提出的重复问题之间的差异很微妙,但有两个重要的区别:
"什么是最佳做法?" 与"为什么不好?"不一样......虽然对另一个问题的接受答案详细阐述了"为什么",但是具有相同答案的两个问题不足以被称为重复.
使用我作为此问题标题的确切文本进行的有力搜索没有透露建议的副本.也许SE应考虑允许将"可选标题"添加到问题中以增强搜索性......但该功能不到位且其他人提出与我相同的问题仍然无法找到另一个问题.