将stateparam传递给stateprovider中设置的控制器

时间:2014-12-05 06:31:59

标签: javascript angularjs

    $stateProvider.state('page2', {
      url: '/page2/:topicId',
      templateUrl: 'page2.html',
      controller : 'page2Ctrl'

});

app.controller('page2Ctrl', ['$scope', 'getContentService', function($scope,getContentService){
    getContentService.request().success(function(data){
        $scope.content = data;
    });
}]);

我想将topicId传递给page2Ctrl。我知道有一种方法可以在stateprovider中使用resolve传递它,但对我而言,这并不是那么模块化。如何在不使用resolve的情况下将topicId传递给page2Ctrl?

1 个答案:

答案 0 :(得分:1)

添加$ stateParams作为注入

app.controller('page2Ctrl', ['$scope', '$stateParams', 'getContentService',
                     function($scope,   $stateParams,   getContentService){
    // you can now use $stateParams.topicID
    getContentService.request().success(function(data){
        $scope.content = data;
    });
}]);