angularjs$routeParams.x给我一个未定义的值

angularjs$routeParams.x给我一个未定义的值,angularjs,routing,Angularjs,Routing,我按如下方式设置我的路线: .when('/:countryName/:categoryName', { templateUrl: 'views/about.html' }) 问题是我从$routeParams对象中提取值时遇到问题 例如,当我这样做时: $scope.parameters = $routeParams; $scope.parameters等于以下对象 {“国家名称”:“日本”,“分类名称”:“足球”} 但是,如果我尝试分配以下内容: $scope.paramet

我按如下方式设置我的路线:

.when('/:countryName/:categoryName', {
    templateUrl: 'views/about.html'
  })
问题是我从$routeParams对象中提取值时遇到问题

例如,当我这样做时:

$scope.parameters = $routeParams;
$scope.parameters等于以下对象 {“国家名称”:“日本”,“分类名称”:“足球”}

但是,如果我尝试分配以下内容:

$scope.parameters = $routeParams.countryName; 
$scope.parameters未定义


为什么会这样?我做错了什么?

您必须使用angular.toJson($routeParams)取消序列化$routeParams

您必须使用angular.toJson($routeParams)取消序列化$routeParams

在尝试访问$routeParams之前,需要使用非常短的$timeout

$timeout(function () {

    console.log("$routeParams.x: ", $routeParams.x);

    continueAppLoad();

}, 100);

在尝试访问$routeParams之前,需要使用非常短的$timeout

$timeout(function () {

    console.log("$routeParams.x: ", $routeParams.x);

    continueAppLoad();

}, 100);

这不管用。据我所知,$routeParams已经是文档中的一个对象了:该服务保证$routeParams对象的标识即使在发生路由更改时也保持不变(但其属性可能会更改)。这不起作用。据我所知,$routeParams已经是文档中的一个对象了:该服务保证$routeParams对象的标识将保持不变(但其属性可能会更改),即使在发生路由更改时也是如此。