Mustapha
Mustapha

Reputation: 87

AngularJS routeParam not working

I have url like this:

http://localhost:3000/details/59567bc1de7ddb2d5feff262

and I want to get the parameter id

59567bc1de7ddb2d5feff262

But for some reasons routeParam always returns undefined

My controller is:

task.controller('ctrla',  function($rootScope, $scope, $http, $timeout, $routeParams){
    $scope.first = 1;
    console.log($routeParams);        
});

routes :

task.config(function ($routeProvider, $locationProvider){
$routeProvider.when('/details/:id', {
      templateUrl: "details.html",
      controller: "ctrla"
    })

});

any help will be a life save.

Upvotes: 1

Views: 64

Answers (2)

Sajeetharan
Sajeetharan

Reputation: 222592

Make sure you have defined the route urls as mentioned below,

app.config(['$routeProvider', function($routeProvider) {
  $routeProvider
    .when('/home', {
      template: "HI this is home Screen",
      controller: 'ctrla'
    })
    .when('/details/:id', {
      templateUrl: "template.html",
      controller: 'profileController'
    })
    .otherwise({
      redirectTo: '/home'
    })
}]);

DEMO

Upvotes: 1

Shantanu
Shantanu

Reputation: 3513

If yu have route deinition defined as

$routeProvider.when('/details/:id', {
      templateUrl: "partial.html",
      controller: "ctrla"
    })

Then in controller you should get its value as

task.controller('ctrla',  function($rootScope, $scope, $http, $timeout, $routeParams){
    $scope.first = 1;
    console.log($routeParams.id);

});

Upvotes: 1

Related Questions