我刚开始看Backbone.js。现在我不打算创建一个类似谷歌的简单搜索,其中网址更新“随时随地”。因此,如果您提交表单,我希望该网址更新为http://www.site.com/#/search/I-searched-for-something。
我感谢每一个答案:)
答案 0 :(得分:5)
如果我理解了这个问题,您需要一个包含搜索字词的任意网址作为网址的一部分。我怀疑你的问题是你没有看到如何使用routes
架构。
路线只是正则表达式:
var MyController = Backbone.Controller.extend({
routes: {
RegExp('^search/(.*)$'): "handle_search"
},
handle_search: function(search_term) {
search_term = decodeURIComponent(search_term);
/* Do something ajaxy with the search term in the search model,
which in turn triggers the search view to refresh... */
}
});
之后,您可以将click
处理程序应用于搜索表单上的按钮(或者可能是搜索字段本身的keypress==13
管理器),而不是实际执行任何操作,只需设置{ {1}}
它是迂回的,但它完成了工作。你的网址中的所有%XX都会很难看,但是它们都是可收起的,这是做这样的事情的唯一原因。
答案 1 :(得分:1)
对于多个搜索字词,我打算1.将它们设置为我的集合中的值,然后触发对集合的提取2.向集合中询问网址并使用导航更新地址栏。