角度控制器最佳实践

时间:2014-11-29 15:42:47

标签: angularjs ionic-framework

可以这样做:

.controller('ComputeCtrl', function($scope, $ionicPopup, $timeout, sessionService) {...})

或者我们应该更好地编写这样的依赖项:

.controller('ComputeCtrl', ['$scope', '$ionicPopup', '$timeout', 'sessionService', function($scope, $ionicPopup, $timeout, sessionService) {...}])

在离子启动器应用程序中,使用第一个版本。

由于

2 个答案:

答案 0 :(得分:2)

当您想要缩小代码时,使用第二种语法。由于变量名称从$scope重命名为a,因此angularjs无法确定要注入的模块。因此,你提供了一个告诉angular的字符串,你想要哪个模块。

如果您不想缩小代码,可以安全地使用第一种语法。

如果您不喜欢第二种语法,但想要缩小代码,可以使用ngAnnotate https://github.com/olov/ng-annotate,它将在构建时添加第二种语法的注释(可能还有grunt-ng-注释https://www.npmjs.org/package/grunt-ng-annotate)。

答案 1 :(得分:0)

由于种子项目没有使用缩小的东西,所以第一种方式写得很好。

但如果您正在考虑缩小,请确保使用第二版。