在AngularJS路由中是否可以添加默认查询参数?

时间:2014-05-16 16:02:26

标签: angularjs

如果这是我的路线设置,我希望“其他”路线重定向到'/ inbound?page = 0& size = 20& sort = number,desc“但是路线中的”?“被转义到“%3F”。

  .config(function ($routeProvider) {
    $routeProvider
      .when('/outbound', {
        templateUrl: 'views/shipments.html',
        controller: 'ShipmentCtrl'
      })
      .when('/inbound', {
        templateUrl: 'views/receipts.html',
        controller: 'ReceiptsCtrl'
      })
      .otherwise({
        redirectTo: '/inbound'
      });
  });

2 个答案:

答案 0 :(得分:1)

继续上一个答案,您应该只在路径控制器中设置默认值

var search=$location.search();
var page=search.page||0;
var size=search.size||20;
var sort=search.sort||'number,desc';

这样做的确切方式取决于您对空字符串和0大小请求的允许程度,但这有点想法

答案 1 :(得分:0)

您可以在控制器的起始行中使用$ location.search()。它会将get参数添加到url。

https://docs.angularjs.org/api/ng/service/ $位置