gpt4 book ai didi

javascript - 为什么 $routeParams 不起作用?不明确的

转载 作者:行者123 更新时间:2023-12-03 07:36:53 26 4
gpt4 key购买 nike

我正在尝试在 Angular 和 Django Rest 框架上构建简单的应用程序。我有一个下一个根应用程序:app.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: '/'
});
}]);

下一个 Controller :

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我想在这种情况下应该使用用户名参数触发路由。但我已经不确定了。谁能解释一下我哪里做错了?

最佳答案

"Note that the $routeParams are only updated after a route change completes successfully. This means that you cannot rely on $routeParams being correct in route resolve functions. Instead you can use $route.current.params to access the new route's parameters."

https://docs.angularjs.org/api/ngRoute/service/$routeParams

你还安装了ngRoute模块吗?

正如描述所述, Controller 中的路由尚未完成,因此参数也未定义。

$scope.$on('$routeChangeSuccess', function() {
// $routeParams should be populated here
});

应该完成这项工作。

关于javascript - 为什么 $routeParams 不起作用?不明确的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35576394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com