Javascript AngularJS OrderBy未在angular 1.5中工作 角度模块('sortApp',[]) .controller('mainController',函数($scope){ $scope.sortType='name';//设置默认排序类型 $scope.sortReverse=false;//设置默认排序顺序 $scope.searchFish='';//设置默认搜索/筛选条件 //创建寿司卷列表 $scope.sushi=[{ 名称:'Cali Roll', 鱼:“螃蟹”, 口感:2 }, { 姓名:“费城”, 鱼:“金枪鱼”, 口感:2 }, { 名字:“老虎”, 鱼:“鳗鱼”, 口感:2 }, { 名字:'彩虹', 鱼:“品种”, 口感:2 }]; }); {{roll.name} {{roll.fish} {{roll.tastyness}}

Javascript AngularJS OrderBy未在angular 1.5中工作 角度模块('sortApp',[]) .controller('mainController',函数($scope){ $scope.sortType='name';//设置默认排序类型 $scope.sortReverse=false;//设置默认排序顺序 $scope.searchFish='';//设置默认搜索/筛选条件 //创建寿司卷列表 $scope.sushi=[{ 名称:'Cali Roll', 鱼:“螃蟹”, 口感:2 }, { 姓名:“费城”, 鱼:“金枪鱼”, 口感:2 }, { 名字:“老虎”, 鱼:“鳗鱼”, 口感:2 }, { 名字:'彩虹', 鱼:“品种”, 口感:2 }]; }); {{roll.name} {{roll.fish} {{roll.tastyness}},javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我使用的是示例中所示的表格分类器,但我最近遇到了一个问题,我现在使用的是angular 1.5,对于版本>=1.5,ordrBy的行为异常,例如:如果列中的所有值都相同,它仍然会更改行。如果我将angular版本更改为

我使用的是示例中所示的表格分类器,但我最近遇到了一个问题,我现在使用的是angular 1.5,对于版本>=1.5,ordrBy的行为异常,例如:如果列中的所有值都相同,它仍然会更改行。如果我将angular版本更改为<1.5的任何版本,您可以看到,第三列没有排序或更改行顺序,因为列条目是相同的。我想在使用angular 1.5时获得同样的效果,发布一些代码…数据对象和一些htmlI添加了代码。这是由于verison 1.4.4中的
orderBy:Stable对输入进行排序。它使用元素的索引作为平局破坏者,这就是为什么即使元素具有相同的品味级别,顺序也会发生变化。
<!DOCTYPE html>
<html>

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.2/angular.min.js"></script>
    <script>
    angular.module('sortApp', [])

    .controller('mainController', function($scope) {
        $scope.sortType = 'name'; // set the default sort type
        $scope.sortReverse = false; // set the default sort order
        $scope.searchFish = ''; // set the default search/filter term

        // create the list of sushi rolls 
        $scope.sushi = [{
            name: 'Cali Roll',
            fish: 'Crab',
            tastiness: 2
        }, {
            name: 'Philly',
            fish: 'Tuna',
            tastiness: 2
        }, {
            name: 'Tiger',
            fish: 'Eel',
            tastiness: 2
        }, {
            name: 'Rainbow',
            fish: 'Variety',
            tastiness: 2
        }];

    });
    </script>
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootswatch/3.2.0/sandstone/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css">
</head>

<body>
    <div class="container" ng-app="sortApp" ng-controller="mainController">
        <table class="table table-bordered table-striped">
            <thead>
                <tr>
                    <td>
                        <a href="#" ng-click="sortType = 'name'; sortReverse = !sortReverse">
            Sushi Roll 
            <span ng-show="sortType == 'name' && !sortReverse" class="fa fa-caret-down"></span>
            <span ng-show="sortType == 'name' && sortReverse" class="fa fa-caret-up"></span>
          </a>
                    </td>
                    <td>
                        <a href="#" ng-click="sortType = 'fish'; sortReverse = !sortReverse">
          Fish Type 
            <span ng-show="sortType == 'fish' && !sortReverse" class="fa fa-caret-down"></span>
            <span ng-show="sortType == 'fish' && sortReverse" class="fa fa-caret-up"></span>
          </a>
                    </td>
                    <td>
                        <a href="#" ng-click="sortType = 'tastiness'; sortReverse = !sortReverse">
          Taste Level 
            <span ng-show="sortType == 'tastiness' && !sortReverse" class="fa fa-caret-down"></span>
            <span ng-show="sortType == 'tastiness' && sortReverse" class="fa fa-caret-up"></span>
          </a>
                    </td>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="roll in sushi | orderBy:sortType:sortReverse">
                    <td>{{ roll.name }}</td>
                    <td>{{ roll.fish }}</td>
                    <td>{{ roll.tastiness }}</td>
                </tr>
            </tbody>
        </table>
    </div>
</body>

</html>