【问题标题】:angular-ui-grid 3.0.0-rc.16 Error: gridApi.pagination.on is undefinedangular-ui-grid 3.0.0-rc.16 错误:gridApi.pagination.on 未定义
【发布时间】:2025-11-30 09:20:23
【问题描述】:

当我从 angular-ui-grid 网站关注 tutorial on pagination 时。

此代码在页面编译时给我一个错误: gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) { paginationOptions.pageNumber = newPage; paginationOptions.pageSize = pageSize; getPage(newPage -1, pageSize); });

“错误:gridApi.pagination.on 未定义

我正在使用 angularjs angular#1.3.11 和 ui-grid 3.0.0-rc.16

【问题讨论】:

  • 我尝试使用 3.0.0.-cr.18 版本。得到了相同的结果。
  • 我刚刚尝试了 angular 1.2.28,得到了相同的结果。
  • 在我改用 ui-grid-unstable.js 而不是 RC 文件之前,我遇到了各种奇怪的问题

标签: angularjs angular-ui-grid


【解决方案1】:

您可能没有使用分页指令。在模块定义中你应该定义分页依赖:

   var app = angular.module('app', ['ui.grid', 'ui.grid.pagination']);

在 HTML 代码中你应该使用分页指令:

   <div ui-grid="gridOptions" ui-grid-pagination class="grid"></div>

还有一件事。检查您的 ui-grid 代码是否存在此行:ui-grid code

     paginationChanged: function (currentPage, pageSize) { }

如果不存在,请将代码更新到最新版本的 ui-grid

【讨论】:

    【解决方案2】:

    检查您的应用是否有 'ui.grid.pagination' 模块(位于文件 app.js 的顶部)。

    然后确保您有方法 onRegisterApi 并将 gridApi 放到您的范围内。

    接下来检查你的html中是否有'ui-grid-pagination directive'

    最后检查您是否没有将'enablePaginationControls' 设置为false。应该是真的(默认设置)。

    它必须工作:)

    【讨论】:

      最近更新 更多