StackOverflow_24556059: angularjs-retrieving-param-from-routeprovider

Illustration of answer to http://stackoverflow.com/questions/24556059/angularjs-retrieving-param-from-routeprovider.

by ExpertSystem

HTML

<script src="http://code.angularjs.org/1.2.19/angular.min.js"></script>
<script src="http://code.angularjs.org/1.2.19/angular-route.min.js"></script>
<div ng-view></div>

<script type="text/ng-template" id="views/home.tmpl.html">
    Student ID:
    <input type="text" ng-model="id" />
    <a ng-href="#/students/{{id}}">Search</a>
</script>

<script type="text/ng-template" id="views/students.tmpl.html">
    Results:
    <div>Student with ID '{{id}}'</div>
    <a ng-href="#/">Back home</a>
</script>

JavaScript

var app = angular.module('myApp', ['ngRoute']);

app.config(function ($routeProvider) {
    $routeProvider
    .when('/', {
        templateUrl: 'views/home.tmpl.html',
        controller: function ($scope) {}
    })
    .when('/students/:id', {
        templateUrl: 'views/students.tmpl.html',
        controller: function($scope, studentID) { $scope.id = studentID; },
        resolve: {
            studentID: function ($route) {
                return $route.current.params.id;
            }
        }
    });
});