如何使用 Backbone.Router 捕获查询参数的变化?

How to catch query param changes with Backbone.Router?

我有以下 Backbone.Route:

var CustomRoute = Backbone.Router.extend({
    routes: {
        "/search": "onChangeUrl"
    },

    onChangeUrl: function (query, page) {
        // handle event
    }
});

Backbone.history.start({pushState: true});

以及以下 url:http://www.mysite_.com/search?name=erik&age=34

我如何处理更改任何查询参数的事件?

你需要像这样定义两个路由器

var CustomRoute = Backbone.Router.extend({
    routes: {
      'search': 'onChangeUrl',
      'search?*query': 'onChangeUrl'
    },

    onChangeUrl: function (query) {
        // handle event
    }
});

Example