1

私は 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」を実行するときのスコープの問題だと思います

4

1 に答える 1