Smart-Table "st-sort" 不工作

Smart-Table "st-sort" not working

我正在使用 angular v1.3.15。我正在通过点击 api 并将其通过范围传递给智能 table 来获取数据,就像这样

这是在控制台上看到的'scope.rowCollection'的数据格式

数据填充正常,但是当我尝试单击 table-header 并使用 st-sort 方法对其进行排序时,table 值明显变为空白,没有对列进行排序。这是我的 html 片段

的视图

你能告诉我我到底做错了什么吗?当我使用自己的数据 collection 设置(非硬编码)时,整个 table 值就会失控。 我觉得它与我在 angular 端使用的变量名有关。 非常感谢任何帮助....谢谢

我认为它试图按照您编码的方式对 row.name 进行排序。尝试以下操作,看看它是否有效:

     st-sort="employee.name"

根据您的评论 Nikhil。像这样使用 st-safe-src

HTML

<table st-table="displayedCollection" st-safe-src="rowCollection">
      <thead>
        <tr>
          <th st-sort="firstName">First Name</th>
          <th st-sort="lastName">Last Name</th>
        </tr>
      </thead>
      <tbody>
        <tr ng-repeat="row in displayedCollection">
          <td>{{row.firstName}}</td>
          <td>{{row.lastName}}</td>
        </tr>
      </tbody>
</table>

JS

app.controller('Ctrl', function($scope, service) {
    $scope.displayedCollection = [];

    service.all.then(function(list) {
        $scope.rowCollection = list;
        $scope.displayedCollection = list;
    });
});

就是这样。

如果您异步引入数据(从远程数据库、restful 端点、ajax 调用等),您必须使用 stSafeSrc 属性。您必须为基础集合和安全集合使用单独的集合,否则您可能会陷入无限循环。

因为我从 restful 服务获取数据 st-table="displayedCollection" st-safe-src="rowCollection" 解决我的问题