2011-11-08 7 views
1

これは機能します。router.routeを使用すると、ページのロード時の初期バックボーンルートは起動しません

Admin.Routers.AppRouter = Backbone.Router.extend({ 
    // home() gets trigger when I visit http://example.com/admin 
    routes: { 
    "admin": "home" 
    }, 

    initialize: function() {}, 

    home: function() { 
    log("Home"); 
    } 
}); 

これは動作しません。

Admin.Routers.AppRouter = Backbone.Router.extend({ 
    initialize: function() {  
    var that = this; 

    // home() DOES NOT get trigger when I visit http://example.com/admin 
    this.route(/^\/admin$/, "home", function() { 
     that.home(); 
    }); 
    }, 

    home: function() { 
    log("Home"); 
    } 
}); 

これはrouter.routeの正しい機能ですか?

答えて

0

私はあなたが投稿したURLの例に基づいて{pushState: true}を使用していると仮定しています。あなたは次のことを試すことができますか?

this.route("admin", "home", function() { 
     that.home(); 
    }); 
+0

はい、それが働きました。しかし、なぜ正規表現が読み込み時に起動しないのでしょうか? – erickreutz

+0

私の次の提案は、先行スラッシュを削除することになるだろう。 regEx式として '/^admin $ /'を試すことができますか? – timDunham

0
Backbone.history.start({ silent: false }); 
+0

他人がその意義を理解しているかもしれないし理解していないコードを投稿するのではなく、あなたの答えを説明することを検討する – ADyson

関連する問題