What are the undocumented features of Angular?

angularjs

Solution

Angular 1.0.5 and 1.0.4:

- Scope has two useful undocumented properties:

- `$parent` - can be used as a hack for binding to a primitive property in a parent scope - example

- `$$phase` - can be used to determine if a $digest is already in progress - see this SO answer

- ng-switch has an undocumented `change` parameter that accepts an expression (example plnkr)

- select has an undocumented `ng-change` parameter that accepts an expression

- Attributes has an undocumented `$observe` method (although it is mentioned on the Directives page)

- $cacheFactory has two undocumented methods (example fiddle)

- `get()`

- `info()`

- the $location service has two undocumented events

- `$locationChangeStart(evt, newUrl, oldUrl)` (example)

- `$locationChangeSuccess(evt, newUrl, oldUrl)` (see also What's the difference between $locationChangeSuccess and $locationChangeStart?)

- use ng-value (undocumented) with `input type="radio"`, see Disqus comment in API docs

Problem

The Angular documentation is missing a few things. Can someone summarize what the undocumented features are?

Original source

Related problems