我已配置路由并尝试将参数传递给控制器:
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 。
答案 0 :(得分:4)
$stateParams
适用于ngRoute路由器而不是angular-ui-router。
您需要ngRoute
...请参阅ui路由器文档
我很惊讶你没有得到一个未知的提供程序错误,除非你在页面中包含了两个路由器脚本并且{{1}}也注入了一个模块