1

我有一个 Backbone 应用程序,我想从传递给函数的参数中删除查询字符串。

这些是一些路线:

routes:
    '': 'home'
    'categories/:id/:sid(/)': 'subcategories'
    'categories/:id(/)': 'categories'

现在,在categories(or subcategories) 函数中,最后一个参数还包括我不想要的查询字符串。我尝试了以下方法:

  • 'categories/:id([\?]{1}:q)': 'categories'
  • 'categories/:id([\?]{0,1}:q)': 'categories'
  • '类别/:id([\?]?:q)':'类别'

但对于像categories/1?page=2,的网址:id1?page=2.

如何删除以下内容?

我知道主干查询字符串,但我不想使用它。

4

1 回答 1

1

我认为有一种方法可以处理这个问题。如果您访问链接(categories/1?page=2categories/1),

像这样写路由器:

'categories/:id\?:page' : 'categories'

'categories/:id' : 'categories'

categories: function(id){}

id参数将为“ 1”,页面将为“page=2”,但您可以弃用它。

请注意两个路由器的顺序

于 2013-08-19T14:53:14.747 回答