Javascript NG表不使用嵌套数据结构
我正在尝试使用NG表库在我正在创建的web应用程序中向用户显示数据,但似乎内置函数无法对如下结构的数据进行排序:Javascript NG表不使用嵌套数据结构,javascript,angularjs,data-structures,web-applications,libraries,Javascript,Angularjs,Data Structures,Web Applications,Libraries,我正在尝试使用NG表库在我正在创建的web应用程序中向用户显示数据,但似乎内置函数无法对如下结构的数据进行排序: var data = [ { generalInfo:{ name: "Morty", age: 20 } }, { generalInfo:{ name: "Ricky", age: 20 }}]; 我使用的实际数据库要求数据的结构如下,因此我无法更改结构。我尝试更改HTML以匹配此格式,但过滤器元素不允许使用点表示法 我的html如下所示
var data = [
{
generalInfo:{
name: "Morty",
age: 20
}
},
{
generalInfo:{
name: "Ricky",
age: 20
}}];
我使用的实际数据库要求数据的结构如下,因此我无法更改结构。我尝试更改HTML以匹配此格式,但过滤器元素不允许使用点表示法
我的html如下所示:
<div ng-controller="appController as vm">
<table ng-table="vm.tableParams" class="table table-bordered table- striped table-condensed" show-filter="true">
<tr ng-repeat="user in $data">
<td title="'Name'" filter="{ generalFeatures.name: 'text'}" sortable="'generalFeatures.name'">{{user.generalFeatures.name}}</td>
<td title="'Age'" filter="{ generalFeatures.age: 'number'}" sortable="'generalFeatures.age'"> {{user.generalFeatures.age}}</td>
</tr>
</table>
</div>
{{user.generalFeatures.name}
{{user.generalFeatures.age}
有什么方法可以让我按这种方式对结构化数据进行排序吗?我找到了解决这个问题的临时方法。我可以通过循环嵌套对象中的所有属性并将它们添加到父对象中,在父对象中创建新属性
angular.forEach(data, function (user) {
if(user.generalInfo != null){
user.age = user.generalInfo.age;
user.name = user.generalInfo.name;
}
});
我找到了这个问题的临时解决办法。我可以通过循环嵌套对象中的所有属性并将它们添加到父对象中,在父对象中创建新属性
angular.forEach(data, function (user) {
if(user.generalInfo != null){
user.age = user.generalInfo.age;
user.name = user.generalInfo.name;
}
});