$ routeParams.param返回undefined

时间:2016-06-12 21:38:39

标签: javascript angularjs

我已配置路由并尝试将参数传递给控制器​​:

app.js

.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('spot', {
      url: "/spot/:param",
      templateUrl: "templates/spot.html",
      controller: "SpotCtrl"
    });
    $urlRouterProvider.otherwise('/');
});

控制器:

angular.module('spotx.controllers')
  .controller('SpotCtrl', ['$scope', '$routeParams',
    function($scope, $routeParams) {

  $scope.do = function() {
    console.log($routeParams.param);
  };

}])

网址是 /#/ spot / 1111 ,但如果我触发了do-function,我会在控制台中获取 undefined

1 个答案:

答案 0 :(得分:4)

$stateParams适用于ngRoute路由器而不是angular-ui-router。

您需要ngRoute ...请参阅ui路由器文档

我很惊讶你没有得到一个未知的提供程序错误,除非你在页面中包含了两个路由器脚本并且{{1}}也注入了一个模块