私は ngTable ディレクティブを使用していますが、問題はデータがテーブルで更新されないことです。
ページをロードするとき、gemId は定義されておらず、どれが問題ないかを示すデータはありません。
次に、ドロップダウンから値を選択し、ボタンを押すと loadItems 関数が呼び出されます。データはサーバーから取得されますが、テーブルには表示されません。列をフィルタリングすると、データが表示されます(= 2番目のリクエスト)。
$scope.tblProject = new ngTableParams(tableParameters, {
counts: [], // hide page counts control
total: $scope.items.length, // value less than count hide pagination
//defaultSort: ['asc','desc'];
getData: function ($defer, params) {
//opgelet: request is geldig ondanks de onbestaand igeID;
var gemId = modelFactory.getGemeente().id;
var igeId = 22222;
if(!angular.isUndefined(gemId)){
Project.query({gemId: gemId, igeId: igeId}, function (projecten) {
var orderedData = params.sorting() ? $filter('orderBy')(projecten, params.orderBy()) : projecten;
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
});
}
},
$scope: { $data: {} } //see example 14
});
$scope.$on('loadItems',function() {
$scope.tblProject.reload();
});
これまで、テーブルを更新するために考えられるすべての回避策を試しましたが、うまくいきませんでした。
編集:「loadItems」を実行するときのスコープの問題だと思います