我正在尝试创建一个数据表,其中提供的数据包含我需要用于列的子对象。
示例数据:
data: {
player: {
name: 'Sir Testington',
outfit: 'Blah Outfit'
},
metrics: {
kills: 123,
deaths: 123
}
}
示例数据表代码:
$('#playerLeaderboard').DataTable({
data: $scope.alert.metrics.players.data,
columns: [
{ data: player.name }, // Fails here, not able to reference subobjects
{ data: player.outfit },
{ data: metrics.kills },
{ data: metrics.deaths }
]
});
有人有什么想法吗?
答案 0 :(得分:0)
首先,您的data
文字(或JSON)必须是一个数组。这可能是一个数组数组,一组嵌套项或其他什么。您的数据文字应该具有以下结构:
var data = [
{ player: {...}, metrics: {...} },
{ player: {...}, metrics: {...} },
...
]
然后,如果您引用data
项目中的嵌套项目,请将它们引用为字符串:
var table = $('#example').DataTable({
data : data,
columns: [
{ data: 'player.name' }, // Fails here, not able to reference subobjects
{ data: 'player.outfit' },
{ data: 'metrics.kills' },
{ data: 'metrics.deaths' }
]
})
你不能引用不存在的变量或对象(player.outfit
不存在) - 但是如果你传递一个路径,dataTables可以很容易地发现你引用的是嵌套项目该项目,如'player.outfit'
。查看您在此处工作的代码 - >的 http://jsfiddle.net/xsjkegL9/ 强>