【问题标题】:Getting "TypeError: ngModelCtrl.$render is not a function" when upgrading angularJS升级 angularJS 时出现“TypeError: ngModelCtrl.$render is not a function”
【发布时间】:2014-07-05 20:16:23
【问题描述】:

我刚刚升级了 angularjs 从 angularjs 1.2.9 到 angularjs 1.2.19 和 angularjs bootstrap 版本 .7 升级到 .11

我现在得到一个我不确定的问题。

这是错误:

TypeError: ngModelCtrl.$render 不是函数

$render 错误似乎是由于 ui-bootstrap-0.11 中第 2201 行的一行造成的。

  $scope.$watch('totalPages', function(value) {
    setNumPages($scope.$parent, value); // Readonly variable

    if ( $scope.page > value ) {
      $scope.selectPage(value);
    } else {
      ngModelCtrl.$render();
    }
  });
}])

由于我的升级,这一定是一个错误...有人对我应该如何处理这个问题有任何建议吗?

谢谢,

戴夫

【问题讨论】:

  • 是否有机会将其缩小到角度升级问题或引导升级问题? (每次只升级一个,看看问题是否消失)
  • 我将问题缩小到 $render 问题。我试图只升级 boostrap-ui 但失败了(wsod)。我也尝试只升级 angularjs,但也得到了 wsod。我相信这是由于 bootstrap ui,因为它指向新的 bootstrap ui 库中的那一行。
  • 在谷歌上快速搜索 ngModelCtrl.$render() 从第一个结果中可以看出这是一个已知的重大更改,如下所述:github.com/angular-ui/bootstrap/issues/2157
  • 剩下的代码在哪里?

标签: angularjs twitter-bootstrap-3 angular-ui-bootstrap


【解决方案1】:

在类似的情况下,我在分页指令上用 ng-model 替换了 page 属性,这解决了我的问题。你也可以试试吗?

【讨论】:

  • 我把这一步从我的答案中去掉了。既然你接了我的懈怠,我投票给你的答案:)
【解决方案2】:

Jacob 指出,我在这个问题上忽略了一个讨论: https://github.com/angular-ui/bootstrap/issues/2157

为了解决我的问题,我所做的只是在分页指令中添加一个 ng-model。 谢谢大家的帮助。

【讨论】:

    【解决方案3】:

    我将指令名称“分页”更改为 diffrentName。然后问题就解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多