2012-03-22 72 views
2

我是backbone.js的新手,并有一个查询。假设我的用户位于http://www.foo.com/#about,然后点击链接即可转至http://www.foo.com/#profile。但我不想带他去#profile如果他还没有登录。所以,如果他还没有登录,书签#关于不应该改变。无法知道如何实现这一点。需要帮助。谢谢。Backbone.js - 如果访问到一个新的书签不会改变书签如何

+0

我很抱歉,如果您的用户不被允许点击它,为什么您有链接到#profile?而不是绕过禁用链接,为什么根本不显示它? – ggozad 2012-03-22 15:29:42

+0

说一下,点击#profile链接,我会显示一个登录对话框,并且只有在他成功登录后才转到#profile。 – Sanjay 2012-03-23 03:46:40

回答

1

我建议你绑定一个click事件个人资料链接并添加逻辑存在,也可以使用Backbone.Router管理导航历史。例如:

// code simplified and not tested 
App.Router = new Backbone.Router.extend({ 
    routes: { 
    "about": "about", 
    "profile": "profile", 
    }, 

    # [...] your routes functions here 
}); 

App.MenuView = Backbone.View.extend({ 
    el: "#menu", 

    events: { 
    "click #profile": "showProfile" 
    }, 

    showProfile: function(){ 
    if(App.currentUser.logged?) { 
     App.MyRouter.navigate("profile", {trigger: true}); 
    } 

    return false; 
    } 
} 
+0

谢谢。将有所帮助。任何其他模式也欢迎,因为我正在尝试单页面应用程序,并会喜欢挑选最佳模式 – Sanjay 2012-03-23 03:51:21