我想知道我怎么可以跟踪登录的用户在Backbone.js的应用程序目前,大部分的页面上的意见需要知道,如果用户登录或现在被记录在哪个用户,什么是最好的方法实现这一目标?
我有服务器会话管理,但我怎么知道哪个用户正在我在骨干的应用程序处理,我如何知道,如果他退出这就是问题
还有我怎么知道该用户已注销使用其他选项卡等? 应该有处理这个东西一个通用的方法,就像我们之前在轨过滤器来管理这样的事情。 使用什么方法来实现对前端相同。
什么我目前做的是,当我从服务器端设置的主页加载HTML渲染的隐藏字段#current_user_id,其中我骨干应用程序读取和设置变量,如follwoing
window.MyApp =
Models: {}
Collections: {}
Views: {}
Routers: {}
currentUser: null
init: ->
@currentBusiness = $('#current_business').val()
new MyApp.Routers.Businesses
Backbone.history.start()
$(document).ready ->
MyApp.init()
然后我的路由器设置一个ShowView然后设置页面上跌宕其他子视图
class MyApp.Routers.AppRouter extends Backbone.Router
routes:
'': 'show'
show: ->
user = new Vocallocal.Models.user id: Vocallocal.currentBusiness
Vocallocal.currentBusiness = business
new Vocallocal.Views.BusinessesIndex model: business
business.fetch()
这里是主ShowView
class MyApp.Views.ShowView extends Backbone.View
el: '#main'
template: JST['users/home']
initialize: ->
@model.bind 'change', @render, @
@details = new Vocallocal.Views.UserDetails model: @model
@logo = new Vocallocal.Views.UserLogo model: @model
@managePhotos = new Vocallocal.Views.ManagePhotos model: @model
render: ->
console.log('change has occured')
@
确实上面的代码和设置很有意义。 我期待在一般的意见,如果我应该做上述任何改变。
谢谢您的宝贵意见
--Abid