dev*_*ebz 6 javascript sorting google-chrome angularjs
我注意到Chrome中的orderBy没有像在其他浏览器中那样排序.
我正在为Angular 1.3中的一个项目写作.
关于特定浏览器没有特殊逻辑,两个阵列完全相同.
谓词是明确定义的:
$scope.predicate = 'style';
$scope.reverse = true;
Run Code Online (Sandbox Code Playgroud)
我的ng-repeat看起来像这样:
<tr ng-repeat="line in model.resultList | orderBy:predicate:reverse">
Run Code Online (Sandbox Code Playgroud)
我的代码没什么特别或不同.然而,'尺寸'是字符串(例如尺寸:'8-',......,尺寸:'6',......).为什么Chrome上的排序与其他浏览器完全不同?
我的所有结果都是从后端按照样式#的组排序,然后是升序大小.当在Angular上设置主要排序时,在这种情况下为"样式",Chrome会混合已经排序的大小.请参阅下面的Plnk(在Chrome和IE/FireFox中打开以查看差异)
没有什么不对。由于您要按其他字段排序-大小可以任何方式改组。orderBy
依靠浏览器的内置排序功能(源)。浏览器的实现可能有所不同。并且排序不应该是稳定的(MDN,ES2015标准部分)。
如果要实现一致的行为,请使用按多个字段排序。喜欢
orderBy:[predicate, 'size']:reverse
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
964 次 |
最近记录: |