$ routeParams中的参数未定义但$ routeParams没有

时间:2017-01-27 14:55:30

标签: javascript angularjs

在上面的代码中,第一个console.log返回undefined

但是第二次返回一个具有cpf属性的对象被设置。为什么?

我的网址:http://xxxxxxx/#!/cpf/68473303253

我的模块

angular.module('welcomeback').controller('welcomeback', ['$scope', '$location', '$routeParams', function($scope, $location, $routeParams){

console.log('First console log');
console.log($routeParams.cpf);
console.log('Second console log');  
console.log($routeParams);

$routeParams

Plunker:https://plnkr.co/edit/Exbherhe6TNYb9t5ThfL

1 个答案:

答案 0 :(得分:0)

因为当控制器加载并打印第一个控制台时,路径更改仍在进行中。

来自Angular:

  

请注意,$ routeParams仅在路由更改后更新   成功完成。这意味着你不能依赖   $ routeParams在路由解析函数中是正确的。相反,你可以   使用$ route.current.params访问新路由的参数。