使用Backbone路由器解析url params - 正则表达式示例

时间:2011-12-08 16:59:29

标签: backbone.js router

我正在使用Backbone.js,我有一个url到我的集合后跟一个param字符串 - params可以按任何顺序出现,params的数量可以变化。

  

mywebsite.com/?orderBy=recent&author=Smith

     

mywebsite.com/?author=Smith&type=Horror,Romance

所以在某种程度上,/:param并不理想,除非我定义了一个必须在url中的订单:

  

/:ORDERBY /:作者/:类型...

并允许其中一些以某种方式为空。

设置此功能的最佳方法是什么? 带正则表达式的路由器能解决我的问题吗? 如果是这样,我找不到使用regex将多个参数传递给Backbone中的路由功能的路由器示例。

谢谢!

2 个答案:

答案 0 :(得分:9)

我遇到了同样的问题。这是一个完成工作的主干插件: https://github.com/jhudson8/backbone-query-parameters

干杯!

答案 1 :(得分:4)

我不相信你的url参数应该映射查询字符串,就像restFul接口不映射查询字符串一样。

/cars?filterby=12 would be more correct then some sort of /cars/filterby/12

我知道休息不是申请路线,但他们仍然有相同的警告。

jQuery包含一个$.param函数,用于轻松处理查询字符串,jQuery BBQ包含一个$.deparam util,可以解析查询字符串

简单地保留您的路线

mywebsite.com/#/authors?orderBy=recent....