0

只是寻找一种在一个视图中使用两个模型的方法(或更好的主意)。

我有一个Product,带有一组Attributes属性将从预定义的列表中选择。因此,我需要获取Attribute选项列表,然后获取为我的Product选择的属性列表。我有两个 API 端点来获取列表/attributes//product/123/attributes/.

如何最好地实现这一目标?我需要呈现来自第一个端点的选择,然后使用第二个端点来显示哪些被选中,然后监听choose操作(即选中一个复选框)。

或者另一种方法是将每个Attribute与每个Product相关联,以及一个可以说或不说的标志selected,但这似乎有点背对前的做事方式......但肯定是最容易从前端实现的.

顺便说一句,后端是 Django/Postgres,如果这有什么不同的话。

4

1 回答 1

0

在这里可以帮助您的一件事是在您的产品模型中拥有一个属性集合,您可以在其中存储与模型对应的所有属性。您可以像这样在模型中初始化集合:

var Product = Backbone.Model.extend({
  initialize: function(){
    var attributes = new Attributes();
  }
})

当您初始化视图时,传递一个属性集合,其中填充了从 抓取的所有属性/attributes,以及一个空白产品模型(或在您创建视图时对其进行初始化)。然后,当用户从列表中选择一个属性时,可以触发一个事件,将其添加到产品属性集合中。

希望这可以帮助

于 2013-02-28T12:36:27.853 回答