1

URLに指定されたアクションのパラメーターが含まれている場合、ルートを一致させるにはどうすればよいですか?myaction / someparam1 / someparam2 / PleaseMatchMeIfYourFindMe/someparam3のように

4

2 に答える 2

3

バックボーンのroutesオブジェクトは、それほどの柔軟性を提供しません。routeただし、次の方法を使用して、ルーティング正規表現を手動で追加できます。

ルート router.route(route, name, [callback])

ルーターのルートを手動で作成します。route引数は、ルーティング文字列または正規表現の場合があります。

したがって、ルーターで次のようなことを行うことができます。

initialize: function() {
    this.route(/^myaction\/.*PleaseMatchMeIfYourFindMe/, 'handler_method');
}

もちろん、実際の要件に一致するように正規表現を調整する必要があります。ハンドラーへの引数として正規表現の一部を取得する場合は、必要に応じてキャプチャグループを追加します。

デモ: http: //jsfiddle.net/ambiguous/pFXr6/

于 2013-03-19T05:43:50.677 に答える
-1

あなたの質問は明確ではありません。次のように、ルート定義でパラメーターを使用できます。

var Route = Backbone.Router.extend({
    routes: {
        'myaction/:param1/:param2/:param3/:param4': 'myActionCallback',  
    }, 
    myActionCallback: function(param1, param2, param3, param){
       //your magic starts here
    }
于 2013-03-19T05:26:40.280 に答える