AngularJS orderBy通过函数
AngularJS orderBy via function
当尝试通过函数orderBy时,以下两个片段之间有什么区别:
<li ng-repeat="str in arrOfStrings | orderBy: 'toString()'> {{str}} </li>
和
<li ng-repeat="person in people | orderBy: getSortKey()> {{person.firstName}} {{person.lastName}}: {{person.email}} </li>
$scope.getSortKey = function() {
return "lastName";
}
我还想知道toString()方法在排序字符串数组时有什么帮助。请参阅如何使orderby筛选器对字符串数组有效?
在第一种情况下,您说使用数组中元素的属性或方法
在第二种情况下,您说使用全局(实际上是当前)范围中的方法或属性,它应该返回将应用于数组元素的内容,即它将首先执行,这就是为什么您的第二个示例可以简化为
<li ng-repeat="person in people | orderBy: 'lastName'>
第二种情况的典型使用示例是在表中排序。你可以有这样的东西:
<table>
<tr><td ng-click='sortColumn="a"'>a<td><td ng-click='sortColumn="b"'></td>
</tr>
<tr ng-repeat="e in elements | orderBy: sortColumn"><td>{{ a }}</td><td>{{ b }}</td></tr>
</table>
更准确地说,-orderBy接受字符串作为参数或返回字符串的函数。字符串应该是数组元素上的属性或方法调用的名称。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- jquery点击函数select&取消选择
- AngularJS orderBy通过函数
- angular将控制器函数重新用作自定义orderBy函数
- Angularjs-将变量发送到纯JavaScript函数并返回orderBy过滤器的正确方法
- 将索引传递给自定义orderBy函数
- AngularJS-orderBy距离函数