2014-02-21 2 views
5

У меня есть объект JSON в следующем формате:отображение вложенных атрибутов в backgrid

{ 
    properties:{ 
        url:"http://..." 
       } 
} 

И я хочу, чтобы отобразить URL в сетке Backgrid. Однако я не могу понять, как изменить атрибут имени столбца таким образом, чтобы он обращался к вложенному URL-адресу. Я попытался следующие примеры без толка:

{ 
    name: "properties.url", 
    label: "URL", 
    cell: "uri" 
} 

И

{ 
    name: "properties[url]", 
    label: "URL", 
    cell: "uri" 
} 

Похоже, что достаточно простой вещи, чтобы сделать, но я не могу найти ответ.

ответ

2

Это entireity из "магистральную-dotattr"

(function(_, Backbone) { 
    _.extend(Backbone.Model.prototype, { 
     get: function(key) { 
      return _.reduce(key.split('.'), function(attr, key) { 
       if (attr instanceof Backbone.Model) 
        return attr.attributes[key]; 

       return attr[key]; 
      }, this.attributes); 
     } 
    }); 
})(window._, window.Backbone); 

с этим, я могу указать

name: "child.childAttribute" 
  • отлично работает в "колонны" части для Backgrid. Надеюсь, поможет.