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?