只是想在一个视图中使用两个模型(或更好的主意)。
我有一个产品,有一组属性。 属性将从预定义列表中选择。因此,我需要获取属性选项列表,然后列出为产品选择的属性列表。我有两个API端点来抓取列表/attributes/
和/product/123/attributes/
。
如何最好地实现这一目标?我需要从第一个端点渲染出选择,然后使用第二个端点来显示选择了哪个,然后听取choose
动作(即勾选了一个复选框)。
或者另一种方法是让每个属性与每个产品相关联,并且标记为selected
或不是,但这似乎有点一种回到前面的做事方式......但肯定是最容易从前端实施的。
顺便提一下,后端是Django / Postgres,如果这有任何区别的话。
答案 0 :(得分:0)
可以帮助您的一件事是在您的产品模型中有一个属性集合,您可以在其中存储与模型对应的所有属性。您可以在这样的模型中初始化Collection:
var Product = Backbone.Model.extend({
initialize: function(){
var attributes = new Attributes();
}
})
初始化视图时,传递一个Atributes Collection,其中包含从/attributes
获取的所有属性,以及一个空白的Product模型(或者在创建视图时初始化它)。然后,当用户从列表中选择一个属性时,可以触发一个事件,将其添加到产品属性集合中。
希望这有帮助