MOCKSTACKS
EN
Questions And Answers

More Tutorials









Angular Route parameters example


This example extends the basic example passing parameters in the route in order to use them in the controller To do so we need to:

1. Configure the parameter position and name in the route name
2. Inject $routeParams service in our Controller


app.js


angular.module('myApp', ['ngRoute'])
 .controller('controllerOne', function() {
 this.message = 'Hello world from Controller One!';
 })
 .controller('controllerTwo', function() {
 this.message = 'Hello world from Controller Two!';
 })
 .controller('controllerThree', ['$routeParams', function($routeParams) {
 var routeParam = $routeParams.paramName
 if ($routeParams.message) {
 // If a param called 'message' exists, we show it's value as the message
 this.message = $routeParams.message;
 } else {
 // If it doesn't exist, we show a default message
 this.message = 'Hello world from Controller Three!';
 }
 }])
 .config(function($routeProvider) {
 $routeProvider
 .when('/one', {
 templateUrl: 'view-one.html',
 controller: 'controllerOne',
 controllerAs: 'ctrlOne'
 })
 .when('/two', {
 templateUrl: 'view-two.html',
 controller: 'controllerTwo',
 controllerAs: 'ctrlTwo'
 })
 .when('/three', {
 templateUrl: 'view-three.html',
 controller: 'controllerThree',
 controllerAs: 'ctrlThree'
 })
 .when('/three/:message', { // We will pass a param called 'message' with this route
 templateUrl: 'view-three.html',
 controller: 'controllerThree',
 controllerAs: 'ctrlThree'
 })
 // redirect to here if no other routes match
 .otherwise({
 redirectTo: '/one'
 });
 });

Then, withoud making any changes in our templates, only adding a new link with custom message, we can see the new custom message in our view.

index.html


<div ng-app="myApp">
 <nav>
 <!-- links to switch routes -->
 <a href="#/one">View One</a>
 <a href="#/two">View Two</a>
 <a href="#/three">View Three</a>
 <!-- New link with custom message -->
 <a href="#/three/This-is-a-message">View Three with "This-is-a-message" custom message</a>
 </nav>
 <!-- views will be injected here -->
 <div ng-view></div>
 <!-- templates can live in normal html files -->
 <script type="text/ng-template" id="view-one.html">
 <h1>{{ctrlOne.message}}</h1>
 </script>
 <script type="text/ng-template" id="view-two.html">
 <h1>{{ctrlTwo.message}}</h1>
 </script>
 <script type="text/ng-template" id="view-three.html">
 <h1>{{ctrlThree.message}}</h1>
 </script>
</div>


Conclusion

In this page (written and validated by ) you learned about AngularJS Route parameters example . What's Next? If you are interested in completing AngularJS tutorial, your next topic will be learning about: AngularJS ng class directive.



Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue: mockstacks@gmail.com.


Share On:


Mockstacks was launched to help beginners learn programming languages; the site is optimized with no Ads as, Ads might slow down the performance. We also don't track any personal information; we also don't collect any kind of data unless the user provided us a corrected information. Almost all examples have been tested. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. By using Mockstacks.com, you agree to have read and accepted our terms of use, cookies and privacy policy.