Javascript 通过角JS中的路由传递多个ID

Javascript 通过角JS中的路由传递多个ID,javascript,angularjs,Javascript,Angularjs,我必须通过路由向服务传递多个ID。现在这个路线只适用于一个id,但作为angular JS的初学者,我不知道如何传递多个id或 是否有一种方法可以通过路由传递ID数组?我被卡住了,正在寻求帮助 当前路由配置 .when(“/search/:id”) 期待 .when('/search/:id/:id/:id')) 或 .when(“/search/ids[]”) 提前谢谢你的帮助 使用.when('/search/:id1/:id2/:id3')或用逗号或其他字符分隔多个ID。这就是我想到的。这

我必须通过路由向服务传递多个ID。现在这个路线只适用于一个id,但作为angular JS的初学者,我不知道如何传递多个id或 是否有一种方法可以通过路由传递ID数组?我被卡住了,正在寻求帮助

当前路由配置

.when(“/search/:id”)

期待

.when('/search/:id/:id/:id'))

或 .when(“/search/ids[]”)


提前谢谢你的帮助

使用.when('/search/:id1/:id2/:id3')或用逗号或其他字符分隔多个ID。

这就是我想到的。这绝非完美或防弹,但这只是一个开始

PS:我只是为了方便起见才使用同一个控制器

app.config(['$routeProvider', function($routeProvider) {
  $routeProvider
   .when('/home:matrix', {templateUrl: 'home.html', controller: 'MainCtrl'})
   .when('/about:matrix', {templateUrl: 'about.html', controller: 'MainCtrl'});
}]);

function extractMatrixParams(matrix) {
  var matrixRegexp = /([^;=]+)=([^;]+)/g;
  var matrixParams = {};
  var match = matrixRegexp.exec(matrix);
  while(match) {
    var p = matrixParams[match[1]];
    if(p) {
      if(angular.isArray(p)) {
        p.push(match[2]);
      }
      else {
        matrixParams[match[1]] = [p, match[2]];
      }
    }
    else {
      matrixParams[match[1]] = match[2];
    }
    match = matrixRegexp.exec(matrix);
  }
  return matrixParams;
}

app.controller('MainCtrl', ['$scope', '$routeParams',
function($scope, $routeParams) {
  var matrixPrams = extractMatrixParams($routeParams.matrix);

  $scope.ids = matrixPrams.ids;
  $scope.myVar = matrixPrams.myVar;
  $scope.matrixPrams = matrixPrams;

  $scope.routeParams = $routeParams;
}]);

我建议您使用“、”或“;”手动加入ID,并在处理程序中拆分它们