私のアプリには、メイン リンクとサブ リンクがあるため、リンクが変わるたびに、適切な関数を呼び出しています。
そのため、ルーターが変更されるたびに、ナビゲーション機能を呼び出す必要があります。これを行うには、次のようにしました。
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回と呼んでいます。この問題を解決するアイデアはありますか..?