【问题标题】:NG-Table not working with nested data structureNG-Table 不适用于嵌套数据结构
【发布时间】:2016-09-10 18:10:03
【问题描述】:

我正在尝试使用 NG-Table 库在我正在创建的网络应用程序中向用户显示数据,但似乎内置函数无法对结构如下的数据进行排序:

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>

我有什么方法可以对这种结构的数据进行排序吗?

【问题讨论】:

    标签: javascript angularjs data-structures web-applications libraries


    【解决方案1】:

    我找到了这个问题的临时解决方案。我可以通过遍历嵌套对象中的所有属性并将它们添加到父对象中来在父对象中创建新属性。

    angular.forEach(data, function (user) {
        if(user.generalInfo != null){
            user.age = user.generalInfo.age;
            user.name = user.generalInfo.name;
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 2014-04-27
      相关资源
      最近更新 更多