(多个)路由参数的集合

Collection of(multiple) route params

本文关键字:集合 参数 路由 多个      更新时间:2023-09-26

此路由配置

URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
Route: /Chapter/:chapterId/Section/:sectionId

将导致:{chapterId:'1', sectionId:'2', search:'moby'}


然而,是否可以通过$routeParams收集对象,如:

 [
   {chapterId:'1', sectionId:'2', search:'moby'},
   {chapterId:'1', sectionId:'5', search:'mobydick'}
 ]

实现这一目标的路线配置是什么?

您可以使用$location.search()

在您的示例中,它看起来像这样:

var searchObject = $location.search(); // => {search: 'moby'}

你可以在这里阅读更多关于它的信息,他们有一个很好的例子

我自己找到了一个解决方案:

url

domain#/foo/whatever?id=1&id=2&name=Moo&name=Boo

路由配置

$routeProvider.when('/foo/whatever', {
  templateUrl: 'whatever.html',
  controller: 'WhatEverCtrler'
});

控制器

module.controller('WhatEverCtrler',['$routeParams', function ($routeParams) {
  console.log('routeParams: ', $routeParams);
  // logs --> Object {id: Array[2], name: Array[2]}
}]);