在backgrid中显示嵌套属性

时间:2014-02-21 04:38:25

标签: backgrid

我有一个json对象,格式如下:

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

我想在Backgrid网格中显示网址。但是,我无法弄清楚如何更改列的name属性,以便它访问嵌套的url。我尝试了以下示例无济于事:

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

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

这似乎很简单,但我找不到答案。

2 个答案:

答案 0 :(得分:5)

看一下Backbone的Wiki

至少有4种选择:

答案 1 :(得分:2)

这是" backbone-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的一部分。希望它有所帮助。