当前位置: 首页 > 面试题库 >

Angular UI Bootstrap中的分页抛出“错误:[$ compile:nonassign]”

终波涛
2023-03-14
问题内容

我使用的是Angular Bootstrap UI的分页指令的相当简单的实现,但是我不断收到我无法弄清楚的错误。以下是相关片段:

<ul>
  <li ng-repeat="todo in filteredIdeas">
    {{todo}}
  </li>
</ul>
<pagination ng-model="currentPage" total-items="totalIdeas"></pagination>

这是控制器中$ scope的相关部分:

// Set watch on pagination numbers
$scope.$watch('currentPage + numPerPage', function() {

  var begin = (($scope.currentPage - 1) * $scope.numPerPage);
  var end = begin + $scope.numPerPage;

  $scope.filteredIdeas = $scope.ideasData.slice(begin, end);

});


// Data
$scope.ideasData = [];

for (var i = 0; i < 100; i++) {
  $scope.ideasData.push('To do ' + i);
}

$scope.filteredIdeas = [];
$scope.currentPage = 1;
$scope.numPerPage = 10;
$scope.totalIdeas = $scope.ideasData.length;

分页设置正确,但是这是我尝试单击下一页(或与此相关的任何页面)时收到的错误:

Error: [$compile:nonassign] Expression 'undefined' used with directive 'pagination' is non-assignable!

如果我理解正确,那表明我在双向绑定中使用了不正确的东西吗?能够复制此Plunkr中的错误:http
://plnkr.co/edit/uyWQXPqjLiE4qmQLHkFy

有人对我在做什么错有任何想法吗?


问题答案:

的使用能力ng-model已引入ui-bootstrap- tpls-0.11.0.js,如changelog中所述:

paginationpager现在都与集成ngModelController
* page替换为ng-model
* on-select-page已删除,因为ng-change现在可以使用它
之前:
<pagination page="current" on-select-page="changed(page)" ...></pagination> 之后:
<pagination ng-model="current" ng-change="changed()" ...></pagination>

由于您正在使用ui-bootstrap-tpls-0.10.0.min.js,因此需要使用旧的语法-和,page而不是ng-model

<pagination page="currentPage" total-items="totalIdeas"></pagination>


 类似资料:
  • 问题内容: 以下是JSX中我的render方法的一部分-为什么在抛出错误后分号为何?在普通的JavaScript中完全可以 问题答案: 这是因为JSX 表达式仅限于单个表达式。 ..将引发错误。 但是,您可以通过使用两个表达式来解决此问题 如果只有一个表达式,则不需要分号。 如果您希望对此有所了解,可以在返回以逗号分隔的最后一个表达式之前,在表达式中使用鲜为人知的逗号运算符进行一些本地工作: 将显

  • 我正在尝试将customRepository与CRUDRepository一起使用。获取以下错误: 在JpaRepositoriesRegistrar上声明的@EnableJpaRepositories中定义的ConfigRepository。EnableJpaRepositoriesConfiguration:调用init方法失败;嵌套异常为org。springframework。数据存储库。查

  • 问题内容: 我只是使用a 从这样的用户那里获取最新的tweet: 这在我的本地主机上运行良好,但是当我将其上传到服务器时会引发以下错误: 警告: file_get_contents(http://api.twitter.com/1/statuses/user_timeline/User.json)[function.file- get-contents]:无法打开流:HTTP请求失败!HTTP /

  • 当我尝试使用JQuery POST向服务器发送数据时,我得到以下错误。 我做错了什么? 未捕获的TypeError:在e处非法调用(https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js:4:7727)在Ab(https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.

  • 我已经安装了用于PHP开发的XAMPPv3.2.1。由于我已经安装了Skype并使用端口80和443,我将XAMPP配置为在端口1333(http.conf)和3333(https.conf)上运行。 我启动了xampp MySQL服务并成功启动。 当我导航到超文本传输协议://: 1333 xampp工作正常,但是如果我点击phpmyadmin我得到以下错误。 MySQL说:文档 服务器没有响应

  • 为了参考,我的“jps”命令的输出结果是