javascript - AngularJS - 如何传递最新的 $routeParams 来解析?

标签 javascript angularjs

如何传递当前的 $routeParams 进行解析,以便它们可用于执行特定的 $http.get。现在我刚刚测试了 $routeParams 并将参数传递回要登录到我的 Controller 中以查看它是否有效,但它每次都是一条路线。例如,加载时它是未定义的,并且在后续路由上,参数是之前的路由参数,因此我单击一个新链接,它会显示之前链接的路由中的参数。

路线片段

    .when('/something/:paramType', {
        templateUrl: '/app/views/something.html',
        controller: 'SomethingController',
        controllerAs: 'someCtrl',
        access: {
            authentication: true
        },
        resolve: {
            SomeData: function( $routeParams ) {
                return $routeParams.paramType;
            }
        }
    })

Controller 片段

   .controller('SomethingController', ['$scope', 'SomeData', function( $scope, SomeData) { 

       console.log(SomeData);
   }])

如何在加载时初始化参数,并使其每次都正确同步?我想这样做的原因是我可以执行 $http.get 并传递 $routeParams 来定义返回的数据。

最佳答案

来自angular documentation对于$routeProvider

Be aware that ngRoute.$routeParams will still refer to the previous route within these resolve functions. Use $route.current.params to access the new route parameters, instead.

所以..

SomeData: function( $route ) {
    return $route.current.params.paramType;
}

关于javascript - AngularJS - 如何传递最新的 $routeParams 来解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25878850/

相关文章:

javascript - YUI 中的 jQuery outerHeight() 等价物是什么

javascript - 使用 javascript 进行 onblur 时,在 Iframe 中暂停 youtube 和/或 vimeo 视频

javascript - Angular 2 - 带有路由器 socket 的测试组件

javascript - 如何在 AngularJS 工厂中使用来自 API 的数据

javascript - 替换数组中的对象

javascript - 纪元时间给出的差异为 12 :hours

javascript - 如何从Angularjs中的不同文件调用服务

javascript - 当动态添加对象的元素时,我想在 JSON 对象内部循环 |AngularJS

javascript - 使用 async/await 在 fs.writeFile 之后执行代码

javascript - 如何将 lib 包含到 karma 测试中?