gpt4 book ai didi

javascript - Backbone Marionette 相关模型

转载 作者:行者123 更新时间:2023-11-29 15:37:55 25 4
gpt4 key购买 nike

我正在尝试列出一些相关用户的帖子。每个帖子都有一个标题,一些文本和一个 userId,如下所示:

[{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"text": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"

}]

如何将我的帖子模型与用户模型相关联?它的工作原理就像我在下面尝试过的那样,但它又快又脏。我需要使用主干关系吗?我只是不知道主干关系是否对我的应用程序中的一个一对多关系来说是一种矫枉过正。

var fetchingPosts = BackboneApplication.request("post:entities");
var postsListLayout = new List.Layout();

$.when(fetchingPosts).done(function(posts){
$.each(posts.models, function(i, post){
var username = BackboneApplication.request("user:entity", post.get("userId"));
$.when(username).done(function(user){
post.set("name",user.get("name"));
});
});
var contactsListView = new List.Posts({
collection: posts
});

编辑 由于我的帖子模型看起来像这样的问题:

Entities.Post = Backbone.Model.extend({
url : "url_to_rest_api",
idAttribute : 'id'
});

编辑 2: 由于我无法更改我的 rest api,是否可以使用以下解析函数。

parse: function(response) {
user = BackboneApplication.request("user:entity", response.userId)
this.user = new User(user);
return response'
}

最佳答案

一种选择是让您的帖子服务返回完全加载的“帖子”模型,如下所示:

[{
//not just an id anymore
"user": {"id":1, "username":"Fred", "email":"bob@bob.com"},
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"text": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"

}]

然后在您的 Post 模型的解析方法中,您可以执行以下操作:

parse: function(response) {
//convert raw user json to backbone model
response.user = new User(response.user);
return response'
}

这避免了关系依赖性,但需要您的休息端点加载用户数据和所有发布数据。你可以让你的端点是特定的,但让你的服务层是通用的,这样帖子和用户的概念仍然是松散耦合的

//pseudo
def getPost(id) {
def post = postService.getPost(id);
post.user = userService.getUser(post.userid)
render post as json
}

关于javascript - Backbone Marionette 相关模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24913703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com