木偶批准包括"/"路由参数中的字符

Marionette AppRouter Include "/" Character in Route Params

本文关键字:quot 参数 字符 路由 包括      更新时间:2023-09-26

我该怎么做呢?例如,如果用户导航到这个URL:

app.com/#search/test.com/index.html

,并在控制器中设置此路由器以捕获它:

var searchRouter = new Marionette.AppRouter({
  controller: searchController,
  appRoutes: {
    'search': 'init',
    'search/:term': 'search'
  }
});

如何将函数search传递给term,包括/和随后的所有内容?在我目前的测试中,当搜索词包含/时,似乎根本不调用此路由。

路由匹配有时很困难,调试起来很痛苦,到目前为止我遇到了很多问题。

所以我想给你一些建议:

只要有一条路由来覆盖这两种情况和路由到initsearch在你的监听器:

appRoutes: {
  'search(/:term)': 'searchListener'
},
searchListener: function(term) {
  if (!term) this.init();
  else this.search(term);
}

这只是为了表达想法,请随意修改。我希望这个方法能解决你的问题。