Angular UI-Router is a client-side Single Page Application routing framework for AngularJS.
Routing frameworks for SPAs update the browser's URL as the user navigates through the app. Conversely, this allows changes to the browser's URL to drive navigation through the app, thus allowing the user to create a bookmark to a location deep within the SPA.
UI-Router applications are modeled as a hierarchical tree of states. UI-Router provides a state machine to manage the transitions between those application states in a transaction-like manner.
You can find the official API Documentation here. For questions about
ng-router, you can find a reasonably detailed answer here. Keep in mind
ng-router has already released a new ng-router update called
ngNewRouter (compatible with Angular 1.5+/2.0) which supports states just like ui-router. You can read more about