【问题标题】:Angular how to get route id at resolve block?Angular如何在解析块中获取路由ID?
【发布时间】:2014-07-01 06:04:26
【问题描述】:

如何在解析块中获取“pageid”?

对于每个 url 更改,我都必须请求服务器以及“pageid”?

我的代码:

app.config(function($routeProvider){
    $routeProvider
      .when('/mainpage/:pageid',
          {
            controller:'ContentController',
                resolve: {
                  data: function ($q, $http) {
                        console.log(window.location.hash)

                    var deferred = $q.defer();
                    $http({method: 'GET', url: mainURL}).then(function(data) {
                      deferred.resolve(data);
                    });
                    return deferred.promise;
                  }
                },                  
                 templateUrl : 'app/partials/masterTemplate.html'
          })
     .otherwise({redirectTo:'/mainpage/home'});
});

【问题讨论】:

    标签: angularjs angularjs-directive angularjs-scope angular-ui angular-ui-bootstrap


    【解决方案1】:

    你可以这样做:

    data: function ($http, $routeParams) {
        return $http({
                   method: 'GET',
                   url: mainURL,
                   params: {
                       pageid: $routeParams.pageid
                   }
               })
               .then(function(data) {
                   return data;
               });
    }
    

    【讨论】:

    • 使用 $route 解决了这个问题,因为 var pageID = $route.current.params.pageid;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多