Angular Set Controller and routeParams

时间:2015-09-14 15:32:35

标签: javascript angularjs angular-routing

I'm using routeProvider to set the controller and a route param when my application is configured. Here's the code that I'm using:

app.config(['$routeProvider', function($routeProvider) {
   $routeProvider.
        when('/person/:uuid/report', { controller: 'CandidateCtrl' }).
        when('/person/:uuid/confirm', { controller: 'ConfirmCtrl', }).
        when('/person/add', { controller: 'AddCtrl' })
}]);

However, the controller is not being set correctly. Additionally, when I set the controller with ng-controller in the page itself, the routeParams object is empty. What am I doing wrong?


Edit:

I've also tried this, which also isn't associating the controller with the page nor setting the route-params.

app.config(['$routeProvider', function($routeProvider) {
   $routeProvider.
        when('/person/:uuid/report', { controller: 'CandidateCtrl', template: 'templates/report.html' }).
        when('/person/:uuid/confirm', { controller: 'ConfirmCtrl', template: 'templates/confirm.html'  }).
        when('/person/add', { controller: 'AddCtrl', template: 'templates/add.html'  })
}]);

Here's the controller that I'm testing this out with:

appController.controller('CandidateCtrl', ['$routeParams',
        function($routeParams) { 
    console.log($routeParams);
}]);

2 个答案:

答案 0 :(得分:0)

Try to add templateUrl

app.config(['$routeProvider', function($routeProvider) {
  $routeProvider.
  when('/person/:uuid/report', {
    templateUrl: 'partials/CandidateCtrl.html', //TODO : replace with the good template
    controller: 'CandidateCtrl'
  }).
  when('/person/:uuid/confirm', {
    templateUrl: 'partials/ConfirmCtrl.html', //TODO : replace with the good template
    controller: 'ConfirmCtrl'
  }).
  when('/person/add', {
    templateUrl: 'partials/AddCtrl.html', //TODO : replace with the good template
    controller: 'AddCtrl'
  }).
  otherwise({
    redirectTo: 'Something' //TODO : replace with the good url
  });
}]);

答案 1 :(得分:0)

我通过我的网络mvc提供意见。我已经将其更改为服务布局并将部分页面保存在资源文件夹中。