0

私のアプリには、メイン リンクとサブ リンクがあるため、リンクが変わるたびに、適切な関数を呼び出しています。

そのため、ルーターが変更されるたびに、ナビゲーション機能を呼び出す必要があります。これを行うには、次のようにしました。

var appRouters = Backbone.Router.extend({
        routes:{
            "general/":"defaultRoute",
            "general/:page/":"generalSublinks",
            "repositories/":"repositories",
            "repositories/:page/":"repositoriesSublinks",
            "savedSearch/":"savedSearch",
            "favourites/":"favourites",
            "reports/":"reports",
            "preferences/":"preferences",
            "preferences/:page/":"preferencesSubLinks",
            '*path':  'defaultRoute'
        },
        initialize:function(){
            this.bind("all", this.navigationUpdate); // calling 3 times each navigation change.. how to solve this?
        },
        navigationUpdate:function(){
            new naviView();
        },
        defaultRoute:function(){
            new dBView();
        },
        generalSublinks:function(id){
            if(id === "dashBoard"){
                this.defaultRoute();
            }else if(id === "myTask"){
                new myTaskView();
            }else if (id === "myDocument"){
                new myDocView();
            }else if (id === "myTemplate"){
                new myTempView();
            }else if (id === "search"){
                new mySearchView();
            }
        }

});

それは正常に動作します。しかし、私はnavigationUpdate -を3回と呼んでいます。この問題を解決するアイデアはありますか..?

4

1 に答える 1