У меня есть следующая ситуация, и я думаю, что лучший способ справиться с этим - использовать Backbone relation
.
Пожалуйста, исправьте меня, если есть другое решение.Backbone отношение: как положить в отношение коллекция и модель?
У меня есть одна коллекция (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 результат
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
@TyroneMichael, спасибо за ваш комментарий, я исправил (2), Да, они связаны с 'creator_id'. 'feedsCollection.creator_id = userModel.id' – js999
Это одно для многих | от многих к одному, или от многих до многих? (Например, могут ли пользователи иметь несколько каналов и каналов с несколькими пользователями?) – jmk2142