Javascript 用angularJS对数据进行排序

Javascript 用angularJS对数据进行排序,javascript,angularjs,Javascript,Angularjs,我是AngularJS的新手…我在输出数据上创建了一个过滤器。接下来,我需要根据下拉选择项对这些数组数据进行排序。我不明白。过滤处理是在第三个指令中完成的。感谢您的帮助 $scope.options=[ {label: 'Name', value:1,submenu:null}, {label: 'Age', value:2,submenu:null}, {label: 'Country', value:3,s

我是AngularJS的新手…我在输出数据上创建了一个过滤器。接下来,我需要根据下拉选择项对这些数组数据进行排序。我不明白。过滤处理是在第三个指令中完成的。感谢您的帮助

 $scope.options=[
              {label: 'Name', value:1,submenu:null},
              {label: 'Age', value:2,submenu:null},
              {label: 'Country', value:3,submenu:[
                      {label:'India',value:1},
                      {label:'China',value:2},
                      {label:'Singapore',value:3},
                      {label:'London',value:4}
                  ]}
          ];

 <select ng-model="model1" ng-options="opt as opt.label for opt in options">
        </select>
$scope.options=[
{标签:'Name',值:1,子菜单:null},
{标签:'Age',值:2,子菜单:null},
{标签:“国家”,值:3,子菜单:[
{标签:'India',值:1},
{标签:'China',值:2},
{标签:'Singapore',值:3},
{标签:'London',值:4}
]}
];

这是plunker

尝试在ng repeat中使用自定义顺序

<div ng-repeat="detail in details | orderBy : sortingOrder : reverse" ng-show="showResults">
    {{detail.Fname | uppercase}}
    {{detail.Lname}}
    {{detail.age}}
    {{detail.sex}}
    {{detail.place}}
</div>

我不明白你在期待什么?我先创建了一个表单并提交了数据。我检索了数据并显示在表单上,并根据性别创建了一个过滤器。过滤器也在工作并获取过滤后的数据。接下来,我需要根据从下拉列表中选择的项目对过滤后的数据进行排序。该列表包含姓名、年龄和国家,这又是一个包含4个国家名称的列表。我使用了三个指令和一个服务。三个html文件,用于创建、显示表单和显示过滤数据。你问“下一步我需要根据下拉列表中的选定项对过滤数据进行排序”是什么意思?下一步我尝试进行排序…这就是我的意思。
  $scope.search = function() {
    $scope.reverse = '';
    $scope.showResults = true;
    if ($scope.model1.label === 'Age') {
      $scope.sortingOrder = 'age';
    } else if ($scope.model1.label === 'Name') {
      $scope.sortingOrder = 'Fname';
    } else if ($scope.model1.label === 'Country') {
      $scope.sortingOrder = 'place';
    }
     else if ($scope.model1.label === 'Gender') {
       console.log($scope.user.sex1);

     if($scope.user.sex1 === 'male')
     {
       $scope.reverse = true;
     }
     else if($scope.user.sex1 === 'female')
     {
      $scope.reverse = false;
     }
      $scope.sortingOrder = 'sex';
    }
  };