这两个Angular控制器之间的功能是否有任何区别?

时间:2016-03-02 14:12:37

标签: javascript angularjs

我正在尝试学习Angular,并且我遇到了许多人以这些方式格式化控制器的不同示例。功能上有区别吗?

var app = angular.module('myApp', []);
app.controller('myCtrl', [
'$scope',
function($scope){
  $scope.firstName = "John";
  $scope.lastName = "Doe";
}]);

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

1 个答案:

答案 0 :(得分:0)

首先,功能似乎相同,但第一部分代码是利用依赖注入!

https://docs.angularjs.org/guide/di

简而言之,通过包含“['$ scope'”,你可以确保当控制器函数要求时,angular将能够解析正确的依赖关系。

我自己更喜欢使用John Papa角度风格指南中列出的手动注射方法,这对我来说更有意义(https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#manual-annotating-for-dependency-injection

NameOfController。$ inject = ['$ scope'];