访问嵌套骨干集合

时间:2013-04-11 14:07:22

标签: backbone.js backbone-views

以下是我用(FacetModels)填充我的收藏品

如何访问AvailableValues []数组

  

“FacetModels”:[   {   “FacetDisplayLabel”:空,   “SelectedValues”:[],   “AvailableValues”:[],   “UnknownResults”:0,   “ActionURI”:空,   “FacetGroupName”: “类别”,   “FacetGroupFriendlyId”: “SourceCategory”   “FacetGroupOrder”:10,   “AllowSuggestions”:假的   },

这是我的观点,因为你会看到我有权访问的是FacetModel数组,我需要能够传递FacetModels [0] .AvailableValues.Name所以我可以显示每个类别Name

CategoryListItemView = Backbone.View.extend({
    tagName: "li",
    className: "category",
    initialize: function (options) {
        this.template = _.template( $("#categorylist_template").html());
    },
    render: function () {
        var category = this.model
        console.log(category);
        console.log(this.model.toJSON());
        $(this.el).html(this.template(this.model.toJSON()));
        return this;
    }
});

从控制台显示

a.Model {cid:“c2”,attributes:Object,collection:r,_changing:false,_previousAttributes:Object ...} _changing:false _events:对象 _pending:false _previousAttributes:Object attributes:Object ActionURI:null AllowSuggestions:false AvailableValues:数组[8] 0:对象 ActionURI:“/ api / search?firstname = thomas& firstname_variants = true& lastname = smith& region = all& sourcecategory = armed%20forces%20utf0026%20conflict” 数:8943 DisplayLabel:“武装部队与冲突” IsUnknown:false 名称:“武装部队与冲突” proto :对象 1:对象 2:对象 3:对象 4:对象 5:对象 6:对象 7:对象 长度:8 proto :数组[0] FacetDisplayLabel:null FacetGroupFriendlyId:“SourceCategory” FacetGroupName:“类别” FacetGroupOrder:10 SelectedValues:数组[0] UnknownResults:0 proto :对象 已更改:对象 cid:“c2” 集合:r proto :对象

1 个答案:

答案 0 :(得分:1)

在您的视图中,javascript数组可通过this.model.get('AvailableValues')获得。如果您需要可用值作为Backbone Collection,则可以覆盖parse以使用集合而不是数组填充AvailableValues属性。

还有其他一些SO问题就是这样的例子: