首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJS -如何传递最新的$routeParams来解决?

AngularJS -如何传递最新的$routeParams来解决?
EN

Stack Overflow用户
提问于 2014-09-17 05:38:37
回答 1查看 11.6K关注 0票数 17

如何将当前的$routeParams传递给resolve,以便它们可以用来执行特定的$http.get。现在,我刚刚测试了$routeParams,并将要记录到我的控制器中的参数传回,以查看它是否工作,但每次它都是一条落后的路由。例如,在加载时,它是未定义的,并且在后续的路由上,参数是以前的路由参数,所以我单击了一个新链接,它显示了前一个链接的路由的参数。

路由片段

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

控制器代码片段

代码语言:javascript
复制
   .controller('SomethingController', ['$scope', 'SomeData', function( $scope, SomeData) { 

       console.log(SomeData);
   }])

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-17 05:50:57

从$routeProvider的angular documentation

请注意,ngRoute.$routeParams仍将引用这些解析函数中的前一个路由。改为使用$route.current.params访问新的路由参数。

所以..。

代码语言:javascript
复制
SomeData: function( $route ) {
    return $route.current.params.paramType;
}
票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25878850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档