Javascript 从主干中的多个模型获取时出现问题
我正在使用主干网开发node.js中的一个应用程序,我很难理解如何从两个相互关联的模型中提取数据。在本例中,我有一个模型用户和一个模型注释,在用户视图中,我希望显示一些用户数据以及用户注释列表。我尝试过执行一个multiple fetch语句,不确定这是否是正确的方向,但它只返回对象数组中的数据,而不返回主干所需的对象属性下的数据 下面是我尝试使用的主干路由器的功能:Javascript 从主干中的多个模型获取时出现问题,javascript,node.js,backbone.js,Javascript,Node.js,Backbone.js,我正在使用主干网开发node.js中的一个应用程序,我很难理解如何从两个相互关联的模型中提取数据。在本例中,我有一个模型用户和一个模型注释,在用户视图中,我希望显示一些用户数据以及用户注释列表。我尝试过执行一个multiple fetch语句,不确定这是否是正确的方向,但它只返回对象数组中的数据,而不返回主干所需的对象属性下的数据 下面是我尝试使用的主干路由器的功能: showUser: function(id) { var user = new User({id: id}); var
showUser: function(id) {
var user = new User({id: id});
var comments = new Comments({userId: id});
$.when(user.fetch(), comments.fetch())
.done(function(userdata, commentdata) {
window.showUserView = new showUserView({
model: userdata,
data: commentdata
});
});
从主干中的多个模型/集合中提取数据的首选方法是什么?实现这一点的方法有很多,但在我看来,最好的方法是: 将视图拆分为两个视图UserView和UserCommentsView,在每个视图中添加以下方法:
initialize : function() {
this.model.bind('change', 'render');
}
之后,将路由器更改为:
showUser: function(id) {
var user = new User({id: id});
var comments = new Comments({userId: id});
new UserView({ model: user });
new UserCommentsView({ model: comments });
user.fetch();
comments.fetch();
}
你能详细说明一下这两个模型之间的关系吗?如果用户有很多评论?这很正常,您在这里得到的是ajax响应