Credit to

angularjs 1.4


Improve this Doc View Source $controller

  1. $controllerProvider
  2. service in module ng

$controller service is responsible for instantiating controllers.

It's just a simple call to $injector, but extracted into a service, so that one can override this service with BC version.



$controller(constructor, locals);


Param Type Details
constructor function()string

If called with a function then it's considered to be the controller constructor function. Otherwise it's considered to be a string which is used to retrieve the controller constructor using the following steps:

  • check if a controller with given name is registered via $controllerProvider
  • check if evaluating the string on the current scope returns a constructor
  • if $controllerProvider#allowGlobals, check window[constructor] on the global window object (not recommended)

    The string can use the controller as property syntax, where the controller instance is published as the specified property on the scope; the scope must be injected into locals param for this to work correctly.

locals Object

Injection locals for Controller.



Instance of given controller.

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.$controller