Javascript 我可以在UI路由器中使用与父状态和子状态相同的名称查询参数吗

Javascript 我可以在UI路由器中使用与父状态和子状态相同的名称查询参数吗,javascript,angularjs,pagination,angular-ui-router,Javascript,Angularjs,Pagination,Angular Ui Router,我想使用AngularJS实现分页函数。然后我尝试通过使用相同状态转换并添加“相同名称”查询参数来实现它 app.config ["$locationProvider", "$stateProvider", "$urlRouterProvider", ($locationProvider, $stateProvider, $urlRouterProvider) -> $locationProvider.html5Mode true $urlRouterProvider.other

我想使用AngularJS实现分页函数。然后我尝试通过使用相同状态转换并添加“相同名称”查询参数来实现它

app.config ["$locationProvider", "$stateProvider", "$urlRouterProvider", ($locationProvider, $stateProvider, $urlRouterProvider) ->
  $locationProvider.html5Mode true

  $urlRouterProvider.otherwise '/'
  $stateProvider
    .state 'shops',
      url: "/shops?page"
      controller: "shopsController"
      templateUrl: "shops.html"
    .state 'shops.shop_detail',
      url : "/:shop_id"
      controller: "shopDetailController"
      templateUrl: "shop_detail.html"
    .state 'shops.shop_detail.menus',
      url: "/menus?page"
      controller: "menusController"
      templateUrl: "menus.html"
]
例如,如果您想查看商店列表的第2页,则在浏览器中输入的URL如下所示

/shops?page=2
/shops/:shop_id/menus?page=2
如果您想查看特定商店菜单列表的第2页,在浏览器中输入的URL如下所示

/shops?page=2
/shops/:shop_id/menus?page=2
但是当我运行这段代码时,发生了以下错误

Error: error:modulerr 
Module Error
Failed to instantiate module app due to:
Error: Duplicate parameter name 'page' in pattern '/shops/:shop_id/menus?page?page'
我认为这种使用查询参数的分页实现很流行。但我不能使用UI路由器来实现这一点。
请告诉我解决方案。

哦,我认为在网站的任何地方使用“页面”查询参数都是正常的。我将尝试将实现分页的方式更改为以下内容
/shops/page-2
/shops/:shop_id/menus/page-2
想指出,使用相同的参数名称根本不是好的做法。我强烈建议:不要这样做。把你的精力放在不同的方法设计上。。。就我的看法……我绝对会听从你的建议,@RadimKöhler。谢谢你,朋友!