2013-07-06 41 views
2

這裏是我的方式來orginize 4次,並與骨幹路由器骨幹路由器JS - 更好的方式來orginize意見

var LinksRouter = Backbone.Router.extend({ 
    routes:{ 
     "classes" : "classes", 
     "profile" : "profile", 
     "reportcard" : "reportcard", 
     "newclasses" : "newclasses", 
    }, 
    classes : function(){ 
     $(".viewable").hide(); 
     $(".clickable").removeClass("active"); 
     $("#classes-view").show();  
     $("#classes-link").addClass("active");         
    }, 
    profile : function(){ 
     $(".viewable").hide(); 
     $(".clickable").removeClass("active"); 
     $("#profile-view").show();  
     $("#profile-link").addClass("active");         
    }, 
    reportcard : function(){ 
     $(".viewable").hide(); 
     $(".clickable").removeClass("active"); 
     $("#reportcard-view").show();  
     $("#reportcard-link").addClass("active");         
    }, 
    newclasses : function(){ 
     $(".viewable").hide(); 
     $(".clickable").removeClass("active"); 
     $("#newclasses-view").show();  
     $("#newclasseslink").addClass("active");          
    }      
}); 
var links = new LinksRouter(); 
Backbone.history.start(); 

它看起來繁瑣,效率不高,4個鏈接。有沒有更好的方式與骨幹js做到這一點?

回答

2

我敢肯定有很多方法..怎麼樣:

var LinksRouter = Backbone.Router.extend({ 
    routes:{ 
     ":subview" : "viewSet", // or "/:subview" ? 
    }, 
    viewSet : function(subview){ 
     $(".viewable").hide(); 
     $(".clickable").removeClass("active"); 
     $("#"+subview+"-view").show();  
     $("#"+subview+"-link").addClass("active");         
    } 
}); 
var links = new LinksRouter(); 
Backbone.history.start(); 
+0

我只是在考驗這個同樣的事情... – kalley