0

此路线配置

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'}
 ]

实现它的路由配置是什么?

4

2 回答 2

0

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

网址

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]}
}]);
于 2016-03-28T22:07:59.237 回答
0

您可以使用$location.search()

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

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

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

于 2016-03-28T21:35:07.623 回答