{@a router-tutorial}
# Router tutorial: tour of heroes
This tutorial provides an extensive overview of the Angular router.
In this tutorial, you will build upon a basic router configuration to explore features such as child routes, route parameters, lazy load NgModules, guard routes, and preloading data to improve the user experience.
For a working example of the final version of the app, see the 
 
 
 
 
 
 
 
| Member | Description | 
|---|---|
| has(name) | Returns `true` if the parameter name is in the map of parameters. | 
| get(name) | Returns the parameter name value (a `string`) if present, or `null` if the parameter name is not in the map. Returns the _first_ element if the parameter value is actually an array of values. | 
| getAll(name) | Returns a `string array` of the parameter name value if found, or an empty `array` if the parameter name value is not in the map. Use `getAll` when a single parameter could have multiple values. | 
| keys | Returns a `string array` of all parameter names in the map. | 
 
 
 
