【发布时间】:2012-05-30 09:38:05
【问题描述】:
我有以下情况,我认为最好的处理方法是使用Backbone relation。
如果有其他解决方案,请纠正我。
我有一个系列 (1) 和一个模型 (2)。
收集结果如(3),模型结果如(4)。
最后,视图应该看起来像这样 (5)。
我的问题是:
1) 可以使用Backbone relation 来处理这种情况吗?
2) 如果是,我应该如何重写FeedsCollection 以自动从UserModel 获取所需的数据?
(1)
// FeedsCollection
var FeedsCollection = Backbone.Collection.extend({
url: "http://localhost/feeds"
});
(2)
// User Model
var UserModel = Backbone.Model.extend({
url: "http://localhost/user"
});
(3) feedsCollection 结果
//feedsCollection.toJSON();
[
{id:1, message: "something one", creator_id: 100},
{id:2, message: "something two", creator_id: 101},
]
(4) 用户模型结果
userModel = new UserModel({id: 100});
userModel.fetch();
userModel.toJSON(); // {id:100, name: "jhon"}
userModel = new UserModel({id: 101});
userModel.fetch();
userModel.toJSON(); // {id:101, name: "herry"}
(5) 最后查看结果应该是这样的:
[
{message: "something one", creator_id: 100, name: "jhon"},
{message: "something two", creator_id: 101, name: "herry"},
]
【问题讨论】:
-
是否 (2) 是 var UserModel = Backbone.Model.extend({}) 而不是 FeedsCollection?我对 FeedsCollection 与 UserModel 的关系感到困惑?它们是否基于属性 creator_id 相关?
-
@TyroneMichael,感谢您的评论,我确实更正了 (2),是的,它们与
creator_id相关。feedsCollection.creator_id = userModel.id -
这是一对多吗?多对一关系还是多对多关系? (例如,用户可以有多个提要,提要可以有多个用户吗?)
标签: backbone.js backbone-relational