1

我正在使用 ngTable 指令,问题是表中的数据没有刷新。

加载页面时,gemId 未定义,没有数据显示可以。

然后从下拉列表中选择一个值,然后在按下按钮时调用 loadItems 函数。数据从服务器检索但未显示在表中。当我过滤一列时,会显示数据(= 2nd request )。

 $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

1

问题是我使用 $emit 而不是执行“loadItems”的 $broadcast 将事件从 parentController 发送到 childController

于 2014-08-12T09:01:36.610 回答