0

我有一个UserService对象,它本质上是Service带有附加配置参数的对象,并附加到User. 在我看来,我想呈现这些列表,UserServices但是模型是这样形成的:

UserService = Backbone.Model.extend({
    defaults: { 
        id: 0, 
        user_id: 0, // This needs to reference the user object somehow 
        service_id: 0, // This needs to reference the service object somehow
        length: 216000, 
        price: 1000
    }
});

如果我将此模型绑定到视图,最终呈现的是 service_id 而不是我需要呈现的参数:service.name

我的问题是:

UserService服务时模型中应该存储什么?完整的服务对象?猫鼬身份证?别的身份证?(请指定建议)

我应该从哪里获取此信息service.name/何时应该拉动Service对象以获取该信息?service.name渲染时能够在视图中进行操作会很好...

是否有链接功能 - 在加载模型时,加载所需的相关模型?

总的来说,我只需要了解相关模型在 Backbone / Express / Mongoose 中的工作原理。

任何帮助表示赞赏!

更新:在做了一些阅读之后,我可以看到几种不同的方法:

  1. 构造函数/初始化程序中,根据从服务器返回的引用 ID将对象加载到Service对象中。UserService

我对那个问题的疑问变成了……参考 ID 是什么?我应该把新检索到的对象放在哪里,可能代替 ID?

  1. 使用 toJSON 方法返回一个美化版本的 UserService ,它会在其中检索Service对象并返回一个带有服务名称的对象:

    { id: ???, service_name: "this was retrieved from the service object in the toJSON method", length: "1 hour", // 从 toJSON 方法中转换 price: 10.00 // 从 cents 转换为美元toJSON 方法 }

或者也许是一个组合?想法?

4

1 回答 1

0

解析模型可以很好地处理加载相关实体,还有一个名为 Backbone Relational的库可以帮助解决这个问题。

否则,我最好的建议是存储对象的 ID 并在成功获取第一个实体后获取相关实体。

任何需要代码示例的人都可以在这里发表评论,我会看看我能想出什么。

于 2012-10-26T17:31:09.963 回答