Difference between $scope and scope in angularjs -


i new angularjs. know difference between $scope in angularjs controller , scope in angularjs directive.

i tried use scope in controller , got below error:

error: [$injector:unpr] unknown provider: scopeprovider <- scope

$scope service provided $scopeprovider. can inject controllers, directives or other services using angular's built-in dependency injector:

module.controller(function($scope) {...})

which shorthand for

module.controller(['$scope', function($scope) {...}])

in first version dependency injector infers name of provider ("$scopeprovider") based on name of function parameter ("$scope" + "provider"). second version builds provider name uses explicit '$scope' in array, not function parameter name. means can use parameter name instead of $scope.

thus end code this: module.controller(['$scope', function(scope) {...}]) scope anything, it's function parameter name, foo or a12342saa.

the dependency injector this:

function controller(def) {     //def[def.length-1] actual controller function     // before it's dependencies      var dependencies = [];     for(dep in def.slice(0, def.length-1)) {          dependencies.push(__get_dependency_by_name(dep));     }     def[def.length-1].apply(dependencies); } 

i think reason why using "scope" instead of "$scope" dependency name won't work clear now. there's no "scopeprovider" defined.


Comments

Popular posts from this blog

Email notification in google apps script -

c++ - Difference between pre and post decrement in recursive function argument -

javascript - IE11 incompatibility with jQuery's 'readonly'? -