私はangular v1.3.15を使用しています。APIをヒットしてデータをフェッチし、スコープを介してスマートテーブルに渡します。
これは、コンソールに表示される「scope.rowCollection」のデータ形式です
データは正常に入力されますが、テーブルヘッダーをクリックしてst-sortメソッドを使用して並べ替えようとすると、テーブルの値が空白になり、列が並べ替えられません。ここに私のHTMLスニペットのビューがあります
正確に私が間違っていることを教えてください。自分のデータコレクションセットを使用した瞬間(ハードコーディングされていません)、テーブルの値全体がおかしくなっています。私はangularの終わりに使用している変数名と何か関係があると感じています。どんな助けでも大歓迎です...ありがとう
コメント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;
});
});
それでおしまい。
データを非同期で(リモートデータベース、レストフルエンドポイント、ajax呼び出しなどから)取り込む場合は、stSafeSrc属性を使用する必要があります。基本コレクションと安全コレクションの両方に別個のコレクションを使用する必要があります。そうしないと、無限ループになる可能性があります。
Restfulサービスst-table = "displayedCollection" st-safe-src = "rowCollection"からデータを取得しているので、問題が解決します
あなたがコーディングした方法でrow.nameをソートしようとしていると思います。次のことを試して、機能するかどうかを確認します。
st-sort="employee.name"