Отображение вложенных атрибутов в сетке
У меня есть объект json в следующем формате:
{
properties:{
url:"http://..."
}
}
И я хочу отобразить URL в сетке Backgrid. Однако я не могу понять, как изменить атрибут имени столбца, чтобы он обращался к вложенному URL. Я пробовал следующие примеры безрезультатно:
{
name: "properties.url",
label: "URL",
cell: "uri"
}
А также
{
name: "properties[url]",
label: "URL",
cell: "uri"
}
Это кажется достаточно простым делом, но я не могу найти ответ.
2 ответа
Решение
Взгляните на Backbone's Wiki.
Есть как минимум 4 варианта:
Это целостность "Магистраль-Дотаттр"
(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. Надеюсь, поможет.