2

这是我用骨干路由器组织 4 个视图和 4 个链接的方法

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();

它看起来乏味且效率不高。有没有更好的方法来使用主干 js?

4

1 回答 1

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();
于 2013-07-06T22:41:41.553 回答