我认为这是一件容易的事情,但我被困住了。这是代码:
在服务器上:
app.get('/api/currentuser',function(req,res){
User.findOne({ _id: req.currentUser.id },'name',function(err, user_details) {
if (err) {
return next(err);
}
if (user_details) {
res.send(user_details);
} else {
return next(new NotFound('Could not find any such user'));
}
});
});
其中 req.currentUser.id 是会话中登录用户的 ID。因此,如果调用 /api/currentuser 方法,我会收到响应
{
_id: 6161616161619hjksk
name: 'Devesh Kumar'
}
现在在 Backbone Marionette 中,我使用模型和项目视图来显示用户名(可能还有他的 _id 和其他详细信息)
骨干:
var CurrentUser = Backbone.Model.extend({urlRoot: '/api/currentuser' });
var CurrentUserView = Marionette.ItemView.extend({
template: "#current-user-view"
});
var currentuser = new CurrentUser();
var currentuser_view = new CurrentUserView({
collection: currentuserdetails
});
Completepp.rightRegion.show(currentuser_view);
模板:
<%= name %>
但是,有一个错误。它说名称未定义。当我设置 CollectionView 和 ItemView 时,它可以正确呈现。但在我的情况下,它不需要设置一个集合
作为一个普遍的问题,我如何在 Backbone 中呈现这样的应用程序级视图?请帮忙