This is a way of interacting with the injector (one of several). The string
literal containing ‘$scope’ tells the injector that the parameter at index 0
(first item in the array) should be ‘$scope’ from the injector. ‘$scope’ isn’t
registered globally in the injector, it comes from locals (so, if you
instantiate a controller via the $controller service, you can supply injector
locals via the second parameter, `$controller(‘ctrlName’, { $scope: myScope
});`.
There are a few ways to use the injector:
```
// One example:
MyController.$inject = [‘$scope’, ‘$http’];
function MyController($scope, $http) {
// ...
}
angular.controller(“MyController”, MyController);
// The example you provided:
angular.controller(“MyController”, [“$scope”, “$http”, function($scope, $http) {
// ...
}]);
// The third method is discouraged, because it requires parsing
`function.toString()`, and this
// does not work as expected when code is minified.
angular.module(“MyController”, function($scope, $http) {
// ...
});
```
These rules apply to everything that the injector deals with, from directives
to services to filters to controllers.
If that didn’t clear things up, feel free to ask for clarification =)
> On Mar 10, 2015, at 2:44 PM, adam morris <[email protected]> wrote:
>
> Hi. I'm an angular newbie. I couldn't find an explanation of this part of a
> controller anywhere:
>
> controller('myController',
> ['$scope', //mentioned first time - what does this do?
> function($scope) //mentioned second time - how does this ($scope)
> relate to '$scope' above?
>
> --
> You received this message because you are subscribed to the Google Groups
> "AngularJS" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[email protected]>.
> Visit this group at http://groups.google.com/group/angular
> <http://groups.google.com/group/angular>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.