Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按字段值排序的AngularJS_Angularjs_Angularjs Orderby - Fatal编程技术网

按字段值排序的AngularJS

按字段值排序的AngularJS,angularjs,angularjs-orderby,Angularjs,Angularjs Orderby,我试图做的是按字段值对一些数据进行排序 $scope.testarr = [{"id":"1","name":"coffee"}, {"id":"2","name":"tea"}, {"id":"3","name":"coffee"}, {"id":"4","name":"ice coffee"}] 在html文件中,我有选择框和3个选项,分别是咖啡、茶和冰咖啡 如果我选择咖啡,应该这样

我试图做的是按字段值对一些数据进行排序

$scope.testarr = [{"id":"1","name":"coffee"},
                  {"id":"2","name":"tea"},
                  {"id":"3","name":"coffee"},
                  {"id":"4","name":"ice coffee"}]
在html文件中,我有选择框和3个选项,分别是咖啡、茶和冰咖啡

如果我选择咖啡,应该这样分类

   $scope.testarr = [{"id":"1","name":"coffee"},
                      {"id":"3","name":"coffee"},
                      {"id":"2","name":"tea"},
                      {"id":"4","name":"ice coffee"}]
   $scope.testarr = [
                      {"id":"2","name":"tea"},
                      {"id":"1","name":"coffee"},
                      {"id":"3","name":"coffee"},
                      {"id":"4","name":"ice coffee"}]
如果我选择茶,应该这样分类

   $scope.testarr = [{"id":"1","name":"coffee"},
                      {"id":"3","name":"coffee"},
                      {"id":"2","name":"tea"},
                      {"id":"4","name":"ice coffee"}]
   $scope.testarr = [
                      {"id":"2","name":"tea"},
                      {"id":"1","name":"coffee"},
                      {"id":"3","name":"coffee"},
                      {"id":"4","name":"ice coffee"}]
我试图使用order by,但不知怎么的,它不起作用

<div ng-repeat="item in testarr | orderBy: 'name'">
     {{item.id}} ------ {{item.name}}
</div>

它似乎确实起作用了。确保ng repeat可以访问$scope.testarr,即在正确的控制器或指令中在$scope上声明它

角度。模块'app',[] .controller'ctrl',函数$scope{ $scope.testarr=[{ id:1, 名称:咖啡 }, { id:2, 品名:茶 }, { id:3, 名称:咖啡 }, { id:4, 名称:冰咖啡 }]; }; {{item.id}--{{item.name}
控制台是否显示任何错误?没有错误。它没有按我想要的方式排序我想你是想按字母顺序排序。。您是否尝试使用另一个参数对列表进行排序?因此,如果您选择coffee,所有名为coffee的元素都应排在第一位,其他元素应保持相同的顺序,对吗?我不会用orderBy来做那件事。我会使用ng change,自己重新排列数组。您的代码不可能工作,因为传递给orderBy的值总是相同的,无论选择是什么。是的,这正是我想要的。有没有办法不用重新排列阵列就可以做到这一点