<script>
var app= angular.module('myApp', ['ngRoute', 'ngResource']);
app.factory('Greeter', ['$resource',function($resource){
return $resource(
'http://123.com/processor-url.php',{
},{
query: {
method:'GET',
/*params: { myvar: myvarActual },*/
isArray:true
}
}
);
}]);
app
.controller('appointmentController', ['$scope', 'Greeter',function($scope,$routeParams,Greeter){
alert($routeParams.myvar);
Greeter.query(function(data) {
$scope.output = data.myvar;
});
}]);
app.controller('homeController', ['$scope', function($scope){
}])
/*Final Config After Loading Everything*/
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/appointments/:myvar', {templateUrl: 'appointments.html', controller: 'appointmentController'});
$routeProvider.when('/home', {templateUrl: 'home.html', controller: 'homeController'});
$routeProvider.otherwise({redirectTo: '/home'});
}]);
</script>
在上面的代码中,似乎 Controller 甚至无法识别本应包含在 routeProvider 的 myvar
中的 myvar
。由于警报将显示 undefined
,而不是 myvar
的实际值(即 .../appointments/1066
...如果是这样,我期望 $routeParams.myvar = 1066
,并且 alert($routeParams.myvar)
应为 1066
最佳答案
$routeParams
依赖声明中缺少,因此目前它正在寻找 myvar
上Greeter
不存在的...
app
.controller('appointmentController', ['$scope', 'Greeter',function($scope,$routeParams,Greeter){
应该是...
app
.controller('appointmentController', ['$scope', '$routeParams', 'Greeter', function($scope, $routeParams, Greeter){
关于javascript - Controller 无法识别从routeProvider传递的routeParams变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25144210/