Angular routeParams未定义

时间:2014-06-12 17:45:18

标签: javascript angularjs

我正在尝试在我的JS中使用routeParams,但它总是以未定义的方式传入。

app.controller('ShowKey', function($scope, $http, $routeParams, $log) {

  $log.info('SomeCtrl - starting up, yeah!');
  $log.info($routeParams);

  $scope.getKey = function() {
    $log.info($routeParams);
  };
});

除了使用routeParams调用app.controller之外,还有什么我需要设置的内容吗?

1 个答案:

答案 0 :(得分:2)

1-您是否考虑过配置中的任何routeParams? 2-如果你想在你的配置中获得你的routeParams,那么,你不能,

---你必须使用:

$ route.current.params,而不是

    app.config(function($routeProvider){
      $routeProvider.when('/path/:yourRouteParam'
       templateUrl:"your template url address",
        controller:'your controller',
        resolve: {
            resolbeObject: function($route){
             //**here you cannot use $routeParam to get "yourRouteParam"** property
            // you must use : $route.current.params
            }
        }
    })
    });

但是在您的控制器中,您可以使用$ route.params获取您的路线障碍,就像您在路线配置中定义路线参数一样:

       $routeProvider.when('/path/:**yourRouteParam**

注意如果要定义必须使用的任何路由参数(:),而不是(?)