我正在使用Backbone.js,我有一个url到我的集合后跟一个param字符串 - params可以按任何顺序出现,params的数量可以变化。
mywebsite.com/?orderBy=recent&author=Smith
mywebsite.com/?author=Smith&type=Horror,Romance
所以在某种程度上,/:param并不理想,除非我定义了一个必须在url中的订单:
/:ORDERBY /:作者/:类型...
并允许其中一些以某种方式为空。
设置此功能的最佳方法是什么? 带正则表达式的路由器能解决我的问题吗? 如果是这样,我找不到使用regex将多个参数传递给Backbone中的路由功能的路由器示例。
谢谢!
答案 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....