标题上的ng-grid选择事件复选框

Sut*_*bey 1 angularjs angular-ui ng-grid

我正在使用AngularUI-Grid的ng-grid,并有一个行选择复选框.它也在标题中给了我一个复选框.

如果用户在标题中选中复选框,我希望在$ scope中触发一些事件/方法,有什么办法吗?我想通过指定: - checkboxHeaderTemplate,我会调用toggleSelectAll()方法.但它没有发生.任何线索?还有任何$ scope的事件或方法,可以在多行选择或取消选择时调用.

 $scope.gridOptions = {
              data: 'dataList',
              enablePaging: true,
              showFooter: true,
              showFilter: true,
              totalServerItems: 'totalVehicles',
              pagingOptions: $scope.VehpagingOptions,
              filterOptions: $scope.VehfilterOptions.filterText,
              showSelectionCheckbox: true,
              beforeSelectionChange: $scope.beforeVehicleSelectionChange,
              checkboxHeaderTemplate: '<input class="ngSelectionHeader" type="checkbox" ng-show="multiSelect" ng-model="allSelected" ng-change="toggleSelectAll(allSelected, true)"/>'
          };
Run Code Online (Sandbox Code Playgroud)

Sut*_*bey 5

我发现如果选择了多行,ng-grid会将项目数组发送到afterSelectionChange.我改用它(这解决了我的问题): -

 $scope.afterVehicleSelectionChange = function (rowItem, event) {
            if (rowItem.length) {
                _.each(rowItem, function (item) {
                    updateItemOnSelectionChange(item);
                });
            } else {
                updateItemOnSelectionChange(rowItem);
            }
            return true;
        };
Run Code Online (Sandbox Code Playgroud)