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
Post a Comment