我是棱角分明的新手,每个教程都是以不同的方式做事而且令人困惑。我设法了解最佳实践并遵循它们。但请查看:
- 看看微软的人们如何将$ scope和function放在依赖括号中。
另一方面,这个家伙Egghead正在这样做:
他将依赖项放在函数参数中。
差异是什么,最佳做法是什么?
答案 0 :(得分:1)
这些有效地做同样的事情,并且是AngularJS提供的Dependency Annotation的不同形式。如果代码缩小,后者将无效,因为它将变为.controller('TodoListController', function (a, b) {
并且没有a
服务。前者仍然具有'$scope'
字符串,因此Angular知道要注入什么服务。
您可以使用ng-annotate库从隐式注释代码中生成缩小代码。
我发现隐式注释更容易阅读,当然它更容易编写。如果您需要缩小代码,可以使用ng-annotate
作为额外步骤添加构建,因此无关紧要。如果您不需要缩小代码并且只是编写非生产示例,则无需使用内联数组注释。
这是无关的,但由于Angular的$scope
语法,现在需要注入controller as
的次数要少得多。
答案 1 :(得分:0)
将依赖项放在依赖括号中是最佳做法。因为否则代码将无法在部署时最小化。
使用依赖括号时,传递给此控制器的参数将始终解析为括号内的字符串名称。当你不这样做时(查看Egghead示例),sharedScope参数将无法重命名为较短的名称(以最小化),因为Angular不知道它应该注入什么依赖。
答案 2 :(得分:0)
使用Microsoft示例,这样做是件好事,当你决定在某一点上缩小你的代码时,那么这种类型的写入依赖将没有错误(用于缩小)......