Router is a core feature of EmberJs which translates an URL into a series of templates and represents the state of an application.The Ember uses the router to map the URL to a route handler. The router matches the current URL to other routes which are used for loading data, displaying the templates and to set up an application state.
Route handler performs some actions such as −
It provides the template.
It defines the model and it will be accessible to the template.
If there is no permission for user to visit the particular part of an app, then router will redirect to a new route.
The following table lists down the different routers in Ember.js along with their description −
S.No. | Types & Description |
---|---|
1 | Defining Routes
The router matches the current URL with routes responsible for displaying template, loading data and setting up an application state. |
2 | Specifying a Route's Model
To specify a routes model, you need a template to display the data from the model. |
3 | Rendering a Template
The routes are used to render the external template to the screen. |
4 | Redirecting
It is a URL redirection mechanism that redirects the user to a different page when the requested URL is not found. |
5 | Preventing and Retrying Transitions
The transition.abort() and transition.retry() methods can be used to abort and retry the transition respectively during a route transition. |
6 | Loading/Error Substates
Ember router provides information of a route loading and errors which occur when loading a route. |
7 | Query Parameters
Query parameters come into view at the right side of the “?” mark in a URL represented as optional key-value pairs. |
8 | Asynchronous Routing
Ember.js router has the ability to handle complex async logic within an application by using asynchronous routing. |