我如何才能实现上述目标?例如,如果用户导航到此URL:
app.com/#search/test.com/index.html
将此路由器设置在控制器中以捕获它:
var searchRouter = new Marionette.AppRouter({
controller: searchController,
appRoutes: {
'search': 'init',
'search/:term': 'search'
}
});
search
如何传递term
包含/
以及随后的所有内容?在我目前的测试中,当搜索词包含/
时,似乎根本没有调用此路由。
答案 0 :(得分:0)
路由匹配有时很难,调试很麻烦,到目前为止我遇到了很多问题。
所以我想建议你别的东西:
只有一条路线可以涵盖这两种情况并路由到听众内部的init
或search
:
appRoutes: {
'search(/:term)': 'searchListener'
},
searchListener: function(term) {
if (!term) this.init();
else this.search(term);
}
这更多只是为了表达这个想法,随意让它变得更好。我希望这种方法能解决你的问题。