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