为什么$routeParams不起作用?定义
Why is $routeParams not working? Undefined
>我要在Angular和Django rest框架上构建简单的应用程序。我有下一个根应用程序:应用.js
angular
.module('sharePhotoApp', [
'ngRoute',
'sharePhotoApp.controllers',
'sharePhotoApp.services'
])
.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: '/',
controller: 'PostListController'
})
.when('/:username', {
templateUrl: '/user/',
controller: 'UserDetailController'
})
.otherwise({
redirectTo: '/'
});
}]);
下一个控制器:
angular
.module('sharePhotoApp.controllers')
.controller('UserDetailController', UserDetailController)
UserDetailController.$inject = ['$scope','$routeParams','userService'];
function UserDetailController($scope, $routeParams, userService){
alert($routeParams.username);
$scope.user = userService.get({ username: $routeParams.username });
}
我试图在浏览器中跟踪下一个 URL:http://127.0.0.1:8000/user/#/admin我想在这种情况下应该使用用户名参数触发路由。但是我已经没有定义。谁能解释一下我哪里做错了?
"请注意,$routeParams仅在路线更改后更新 成功完成。这意味着您不能依赖 $routeParams路由解析函数正确。相反,您可以 使用 $route.current.params 访问新路由的参数。
https://docs.angularjs.org/api/ngRoute/service/$routeParams
您是否也安装了 ngRoute 模块?
正如描述所说,路由在控制器中尚未完成,因此参数也是未定义的。
$scope.$on('$routeChangeSuccess', function() {
// $routeParams should be populated here
});
应该做这项工作。
相关文章:
- Meteor-添加用户自定义字段的方法不起作用
- 自定义控件中的双向绑定在SAPUI5中不起作用
- Asp自定义验证器在IE-11中不起作用
- 加载自定义类在ExtJs中不起作用
- 自定义查询在Wordpress页面中不起作用
- Gulp,浏览使用react作为CommonJS不起作用.React未定义
- Javascript变量未定义,onchange不起作用
- 新的自定义角度指令不起作用
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- Angular.JS自定义指令;不起作用
- scope.$apply 是未定义的,在 scrolly 指令中不起作用
- 用户定义的函数在 Angular Cordova 中不起作用
- AngularJS,自定义指令不起作用@ plnkr
- $(this).attr({class:“activeTab”});不起作用,因为这是未定义的
- 对已定义函数的第二次调用;不起作用
- 检查变量是否未定义不起作用
- 如何触发此“类型(未定义)!= 未定义”错误?未定义不起作用.WSS
- 时间微调器检查是否未定义不起作用
- vscode:转到命名空间中函数的定义不起作用
- AddThis代码的自定义不起作用