AngularJS v1.6.6中groupBy功能报错,求助排查缺失依赖
解决AngularJS v1.6.6中
groupBy过滤器报错问题 兄弟,你碰到的这个问题其实挺典型的——AngularJS核心框架本身并没有内置groupBy过滤器,这个功能是第三方库angular-ui-utils提供的,所以你直接在代码里用| groupBy: 'Month'肯定会报错,本质就是缺了这个依赖库的文件。
下面给你一步步搞定的方案:
1. 引入angular-ui-utils脚本文件
你需要在AngularJS核心脚本之后,加载angular-ui-utils.min.js文件。调整后的脚本加载顺序大概是这样:
<!-- 先加载AngularJS核心库 --> <script src="angular.min.js"></script> <!-- 再加载angular-ui-utils库 --> <script src="angular-ui-utils.min.js"></script>
注意要保证这个文件的路径正确,你可以下载和AngularJS v1.6.6兼容版本的angular-ui-utils文件,存到项目对应目录里就行。
2. 在AngularJS模块中注入依赖
光加脚本还不够,还要在你自己定义的模块里注入ui.utils依赖,比如:
// 替换成你实际的模块名 var myApp = angular.module('myApp', ['ui.utils']);
3. 重新验证groupBy的使用
现在你再用| groupBy: 'Month'就应该能正常工作了,给你个简单的使用示例参考:
<div ng-controller="MyController"> <div ng-repeat="(month, groupedItems) in dataList | groupBy: 'Month'"> <h4>{{ month }} 月份的数据</h4> <ul> <li ng-repeat="item in groupedItems"> {{ item.title }} - {{ item.value }} </li> </ul> </div> </div>
额外注意点
- 一定要选和AngularJS v1.6.6兼容的
angular-ui-utils版本,版本不匹配可能会引发新的问题 - 可以通过浏览器开发者工具的「Network」标签,确认
angular-ui-utils.min.js是否成功加载,如果出现404错误,就是文件路径写错了
内容的提问来源于stack exchange,提问作者pasluc74669
相关产品推荐
相关产品推荐

