我有两个amd模块,其中包含两个模型User
和File
。 User
有许多files
,而File
有一个User
。
define('model/user', ['backbone'], function (Backbone) {
return Backbone.Model.exend({
getFiles: function () {
...
}
});
});
和
define('model/file', ['backbone'], function (Backbone) {
return Backbone.Model.exend({
getUser: function () {
...
}
});
});
已在控制器中创建的所有实体。
define('controller/users', ['backbone', 'model/user'], function (Backbone, User) {
var users = new Backbone.Collection([], {
model: User
});
users.fetch();
});
和
define('controller/files', ['backbone', 'model/file'], function (Backbone, File) {
var files = new Backbone.Collection([], {
model: File
});
files.fetch();
});
我无法弄清楚如何建立这些交叉关系(方法getFiles
和getUser
)?
我无法model/user
需要model/file
,这需要model/user
。模型不需要控制器。也许应该有第三个模块store
包含所有创建的模型?然后他们应该如何到达那里?
答案 0 :(得分:0)
如果你在前端使用骨干,你可以很容易地在模型层中没有定义关系,而是将它们放在控制器层中。 将相关模型耦合在一起不一定是最好的模式。
但是,如果你想让关系成为模型层的一部分,我会研究诸如http://backbonerelational.org/之类的库