如何将当前的$routeParams传递给resolve,以便它们可以用来执行特定的$http.get。现在,我刚刚测试了$routeParams,并将要记录到我的控制器中的参数传回,以查看它是否工作,但每次它都是一条落后的路由。例如,在加载时,它是未定义的,并且在后续的路由上,参数是以前的路由参数,所以我单击了一个新链接,它显示了前一个链接的路由的参数。
路由片段
.when('/something/:paramType', {
templateUrl: '/app/views/something.html',
controller: 'SomethingController',
controllerAs: 'someCtrl',
access: {
authentication: true
},
resolve: {
SomeData: function( $routeParams ) {
return $routeParams.paramType;
}
}
})
控制器代码片段
.controller('SomethingController', ['$scope', 'SomeData', function( $scope, SomeData) {
console.log(SomeData);
}])
如何在加载时初始化参数,并使其每次都能正确同步?我之所以要这样做,是因为我可以执行$http.get并传递$routeParams来定义返回的数据。
发布于 2014-09-17 05:50:57
从$routeProvider的angular documentation
请注意,ngRoute.$routeParams仍将引用这些解析函数中的前一个路由。改为使用$route.current.params访问新的路由参数。
所以..。
SomeData: function( $route ) {
return $route.current.params.paramType;
}
https://stackoverflow.com/questions/25878850
复制相似问题