我正在使用骨干网在node.js中开发一个应用程序,但我很难理解如何从两个相互关联的模型中提取数据。在这种情况下,我有一个模型用户和模型评论,在用户视图中,我想显示一些用户数据以及用户评论的列表。我已经尝试过多次获取语句(不确定这是否是正确的方向),但它只返回对象数组中的数据,而不是在主干需要的属性对象下。
以下是我正在尝试使用的骨干路由器的功能:
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
});
});
从骨干网中的多个模型/集合中提取数据的首选方法是什么?
答案 0 :(得分:0)
有很多方法可以实现这一目标,但最好的方法(在我看来)是:
将视图拆分为两个视图(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();
}