Почему не разрешается моя зависимость от $scope, когда я добавляю ее в Angular Seed View1Ctrl

Я экспериментирую с Angular Seed и попытался добавить $scope зависимость от View1Ctrl следующее:

 .controller('View1Ctrl', [function ($scope) {
        $scope.message = 'mundo';
    }]);

который не работает: $scope является undefined...

Когда я изменяю код на это:

.controller('View1Ctrl', function ($scope) {
        $scope.message = 'mundo';
    });

затем $scope решено.

Может кто-нибудь объяснить, почему $scope не разрешается с первым фрагментом?

1 ответ

Решение

Если вы используете [], вам нужно предоставить строки, соответствующие зависимости для внедрения.

.controller('View1Ctrl', ['$scope', function ($scope) {
    $scope.message = 'mundo';
}]);

Это полезно, если вы минимизируете свой JavaScript,

.controller('View1Ctrl', ['$scope', function (a) {
    a.message = 'mundo';
}]);

Это означает, что $ scope вводится как переменная с именем a. Без [] он пытается ввести любое имя переменной.

Другие вопросы по тегам