2012-03-18 82 views
1

是否有可能讓backbone.js的路由功能確定多個動作?例如,我的單頁應用程序可以打開多個選項卡,每個選項卡執行不同的操作。這可以做到,如果是這樣,怎麼做?backbone.js路由器有多個動作

+0

到目前爲止,我有沒有歷史的支持。如果你點擊後退按鈕或刷新,你會失去一切。我期待修復 – LordZardeck 2012-03-18 02:28:32

回答

3

如果我正確地理解了你,那麼開箱即可實現此功能,因爲Backbone路由機制將每條路由映射到單個回調。從0.9.1 docs

//Implementation 
route: function(route, name, callback) {} 

//Usage: "Manually bind a single named route to a callback. For example:" 
this.route('search/:query/p:num', 'search', function(query, num) { 
    ... 
}); 

所以,如果你需要傳遞多個回調,你需要重寫路由功能處理回調的陣列 - 或者你可以發佈一個issue at github激勵的實施。

一種更務實的態度,以您的問題當然是要處理的映射路線定義之外,像

routes: { 
    "routeA": "actionA", 
    "routeB": "actionB", 
    "routeC": "actionCompound" 
    }, 
    actionA: function() { 
    //... 
    }, 
    actionB: function() { 
    //... 
    }, 
    actionCompound: function() { 
    this.actionA(); 
    this.actionB(); 
    } 
+0

感謝您的解釋 – LordZardeck 2012-03-18 15:21:17