在骨干js中处理登录的用户模型和视图

Handle logged in user model and view in backbone js

本文关键字:用户 模型 视图 登录 处理 js      更新时间:2023-09-26

我有一个登录表单在我的骨干应用程序,我想显示一个视图与用户的状态。我的登录视图是这样的:

var LoginView = Backbone.View.extend({
    el: $("#login-form"),
    events: {
        'click button': 'login',
    },
    initialize: function () { },
    login: function (event) {
        var self = this;
        event.preventDefault();
        var url = '/api/auth/login';
        $.ajax({
            url: url,
            type: 'POST',
            data: this.$el.serialize(),
            success: function () {}
        });
    }
});

保存用户对象,显示登录状态视图并在页面重新加载时恢复它的最佳方法是什么?

整个过程是这样的。

  1. 用户点击网站。
  2. 创建userSession模型并将其分配给应用范围App.currentUser = new App.Models.UserSession()
  3. 使用当前用户App.currentUser.fetch()进行取
  4. 根据返回值,如果存在用户会话,则显示用户信息。否则,显示登录视图
  5. 登录视图逻辑,在成功回调。App.currentUser.set(response)