如何通过当前的$ routeParams来解析,以便它们可用于执行特定的$ http.get。现在我刚刚测试了$ routeParams并传回了param以登录我的控制器以查看它是否有效,但它是每次后面的路线。例如,在加载时它是未定义的,并且在后续路由中,参数是先前的路由参数,因此我单击一个新链接并显示上一个链接路径中的参数。
路线片段
.when('/something/:paramType', {
templateUrl: '/app/views/something.html',
controller: 'SomethingController',
controllerAs: 'someCtrl',
access: {
authentication: true
},
resolve: {
SomeData: function( $routeParams ) {
return $routeParams.paramType;
}
}
})
Controller Snippet
.controller('SomethingController', ['$scope', 'SomeData', function( $scope, SomeData) {
console.log(SomeData);
}])
如何在加载时初始化参数,并使其每次都正确同步?我想这样做的原因是我可以执行$ http.get并传递$ routeParams来定义返回的数据。
答案 0 :(得分:35)
来自angular documentation for $ routeProvider
请注意,ngRoute。$ routeParams仍然会引用前一个 这些解析函数中的路由。使用$ route.current.params来 相反,访问新的路线参数。
所以..
SomeData: function( $route ) {
return $route.current.params.paramType;
}