我正在使用Backbone和Marionette。
我有一个已定义的用户模型:
Users.User = Backbone.Model.extend({
defaults: {
short_name: '',
full_name: ''
}
});
我想在我的骨干代码中轻松访问当前登录的用户数据。
我不确定是否:
OR
我也不确定如何检索当前登录的用户数据。
我是否通过端点网址http://example.com/me
作为JSON公开数据?
或者以某种方式Backbone可以访问会话数据?
答案 0 :(得分:1)
一般的经验法则是,如果subclass
具有与父项无关的属性/方法,则应将其子类化。在我看来,这就是一个例子。
Backbone(只是一个MVC JS实现)无法访问您的会话数据。因此,这需要通过REST请求提供。
答案 1 :(得分:0)
模型之间不共享数据。除非您需要在用户模型中为经过身份验证的用户提供特定功能,否则只需使用更多数据填充身份验证即可。
我这样做的方法是使用fetch()
方法,确保我的模型与返回当前登录用户的JSON的端点进行通信。
为了为经过身份验证的用户和其他用户定义不同的urlRoot
,您需要有两个单独的模型。
P.S。,实际上我使用socket.io作为同步协议而不是REST API,所以我只是使用不同的事件名称同步当前用户与联系人。