从两个模型绘制的骨干视图

时间:2013-02-28 11:47:36

标签: backbone.js

只是想在一个视图中使用两个模型(或更好的主意)。

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

如何最好地实现这一目标?我需要从第一个端点渲染出选择,然后使用第二个端点来显示选择了哪个,然后听取choose动作(即勾选了一个复选框)。

或者另一种方法是让每个属性与每个产品相关联,并且标记为selected或不是,但这似乎有点一种回到前面的做事方式......但肯定是最容易从前端实施的。

顺便提一下,后端是Django / Postgres,如果这有任何区别的话。

1 个答案:

答案 0 :(得分:0)

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

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

初始化视图时,传递一个Atributes Collection,其中包含从/attributes获取的所有属性,以及一个空白的Product模型(或者在创建视图时初始化它)。然后,当用户从列表中选择一个属性时,可以触发一个事件,将其添加到产品属性集合中。

希望这有帮助