删除骨干查询字符串

时间:2013-08-19 10:58:18

标签: javascript backbone.js coffeescript

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

这些是一些路线:

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

现在,在categories(或subcategories)函数中,最后一个参数还包含我不想要的查询字符串。 我试过了以下内容:

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

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

如何删除?后面的内容?

我知道backbone-query-string,但我不想使用它。

1 个答案:

答案 0 :(得分:1)

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

像这样写路由器:

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

'categories/:id' : 'categories'

categories: function(id){}

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

请注意两个路由器的序列