Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 如何在ng repeat中使用指令进行排序?_Angularjs_Sorting_Angularjs Directive_Ng Repeat - Fatal编程技术网

Angularjs 如何在ng repeat中使用指令进行排序?

Angularjs 如何在ng repeat中使用指令进行排序?,angularjs,sorting,angularjs-directive,ng-repeat,Angularjs,Sorting,Angularjs Directive,Ng Repeat,当我进行排序时,不会对图像和我使用>指令绑定的其他文件进行排序 类HTML <table style="width:100%"> <thead> <tr> <th style="width:10%" class="text-center"> <a href="" ng-click="sortType = 'Group'; sortReverse = !sortReverse">

当我进行排序时,不会对图像和我使用>指令绑定的其他文件进行排序

类HTML

<table style="width:100%">
<thead>
    <tr>
      <th style="width:10%" class="text-center">
        <a href="" ng-click="sortType = 'Group'; sortReverse = !sortReverse">
            Group
            <span ng-show="sortType == 'Group' && !sortReverse" class="fa fa-caret-down"></span>
            <span ng-show="sortType == 'Group' && sortReverse" class="fa fa-caret-up"></span>
            <span ng-show="sortType != 'Group'" class="fa fa-sort"></span>
        </a>
    </th>
    <th>
    <a href="" ng-click="sortType = 'Name'; sortReverse = !sortReverse">
            Name 
            <span ng-show="sortType == 'Name' && !sortReverse" class="fa fa-caret-down"></span>
            <span ng-show="sortType == 'Name' && sortReverse" class="fa fa-caret-up"></span>
            <span ng-show="sortType != 'Name'" class="fa fa-sort"></span>
        </a>
    </th>
    </tr>
</thead>
<tbody>
    <tr ng-repeat="objdata in students">
        <td style="width:10%" class="text-center">
            <span dirGroup="objdata.Group"></span>
        </td>
        <td style="width:90%" class="text-center">
            {{objdata.Name}}
        </td>
    </tr>
</tbody>

{{objdata.Name}

当我进行排序时,不会对图像和我使用>指令绑定的其他文件进行排序

angular
.module('应用程序')
..指令('dirGroup',[函数(){
返回{
限制:“A”,
范围:{
目录组:'='
},
编译:函数(元素){
元素removeAttr('dirGroup');
返回函数(范围、元素、属性){
var objdata=scope.dirGroup;
var GroupID=objdata;
var strHtml_StatusImage='';
if(GroupID==0){
strHtml_StatusImage='';
}
else if(GroupID==1){
strHtml_StatusImage='';
}
else if(GroupID==2){
strHtml_StatusImage='';
}
else if(GroupID==3){
strHtml_StatusImage='';
}
else if(GroupID==4){
strHtml_StatusImage='';
}
else if(GroupID==5){
strHtml_StatusImage='';
}
否则{
strHtml_StatusImage='';
}
var link=''+strHtml_StatusImage+'';
元素。追加(链接);
//}
}
}
}
}])
.controller('StudentController',['$scope',StudentController])
函数StudentController()
{
var vm=$scope;
var students=[{Name:“Bhadresh”,组:1},{Name:“Mihir”,组:5},
{姓名:“莫希尼”,组别:1},{姓名:“穆库尔”,组别:1},
{姓名:“Dhaval”,组别:3},{姓名:“Dhiren”,组别:4},
{名称:“Sandeep”,组:4},{名称:“Jignesh”,组:1},
{姓名:“迪帕克”,组别:1},{姓名:“吉加”,组别:3},
{姓名:“Mahesh”,组别:5},{姓名:“Mitesh”,组别:1},
{姓名:“Naresh”,组别:2},{姓名:“Mohini”,组别:2},
{姓名:“Nikunj”,小组:1},{姓名:“Mahi”,小组:1}];
vm.sortType=“组”;
vm.sortReverse=false;
Getdata();
函数GetData()
{
学生=学生;
}
}
当我进行排序时,不会对图像和我使用>指令绑定的其他文件进行排序

根据你的代码,我意识到你实际上并不需要这个指令。 你需要有一个过滤器,底部的样本基于上面写的代码

var-app=angular.module('app',[]);
应用程序控制器('StudentController',函数StudentController($scope)
{
var self=这个;
学生自我评价=[
{名称:“Bhadresh”,组:1},
{名称:“Mihir”,组:5},
{姓名:“莫希尼”,组别:1},
{名称:“Mukul”,组:1},
{姓名:“Dhaval”,组别:3},
{姓名:“迪伦”,组别:4},
{名称:“Sandeep”,组:4},
{名称:“Jignesh”,组:1},
{名称:“Deepak”,组:1},
{名称:“吉加”,集团:3},
{名称:“Mahesh”,小组:5},
{名称:“Mitesh”,组:1},
{名称:“Naresh”,组:2},
{姓名:“莫希尼”,组别:2},
{名称:“Nikunj”,组:1},
{名称:“Mahi”,组:1}
];
////默认排序
self.sortType=“组”;
self.sortReverse=false;
});
app.filter('myFilter',function(){
返回函数(组){
交换机(组){
案例1:
//你可以使用图像
返回“组1

您可以用图像替换”; 案例2: //你可以使用图像 返回“组2

您可以用图像替换”; 案例3: //你可以使用图像 返回“组3

您可以用图像替换”; 案例4: //你可以使用图像 返回“组4

您可以用图像替换”; 案例5: //你可以使用图像 返回“组5

您可以用图像替换”; } } }); app.filter('to_trusted',['$sce',函数($sce){ 返回函数(文本){ 返回$sce.trustAsHtml(文本); }; }]);

团体
名称
{{student.Name}

问题不清楚,请详细说明(如果可能,请使用代码)你好,我的朋友,不要关注问题点,很多人都是先判断然后倾听。对于您的问题,您必须在您的ng repeat not桌面上使用过滤器。请尝试并评论我以帮助您。出于绑定目的,我想使用指令进行大数据绑定。我使用了该指令,但在得到数据排序后无法工作。
angular
.module('app')
..directive('dirGroup', [function () {
    return {
        restrict: 'A',
        scope: {
            dirGroup: '='
        },
        compile: function (element) {
            element.removeAttr('dirGroup');
            return function (scope, element, attrs) {

                var objdata = scope.dirGroup;

                var GroupID = objdata;

                var strHtml_StatusImage = '<img src="../../assets/images/Group0.png?"  >';
                if (GroupID == 0) {
                    strHtml_StatusImage = '<img src="../../assets/images/Group0.png?"  >';
                }
                else if (GroupID == 1) {
                    strHtml_StatusImage = '<img src="../../assets/images/Group1.png?"  >';
                }
                else if (GroupID == 2) {
                    strHtml_StatusImage = '<img src="../../assets/images/Group2.png?" >';
                }
                else if (GroupID == 3) {
                    strHtml_StatusImage = '<img src="../../assets/images/Group3.png?"  >';
                }
                else if (GroupID == 4) {
                    strHtml_StatusImage = '<img src="../../assets/images/Group4.png?"  >';
                }
                else if (GroupID == 5) {
                    strHtml_StatusImage = '<img src="../../assets/images/Group5.png?"  >';
                }
                else {
                    strHtml_StatusImage = '<img src="../../assets/images/Group0.png?" >';
                }

                var link = '' + strHtml_StatusImage + '';
                element.append(link);
                //}
            }
        }
    }
}])
.controller('StudentController', ['$scope', StudentController] )
function StudentController()
{
    var vm = $scope;

    var students=[{Name : "Bhadresh", Group : 1}, {Name : "Mihir", Group : 5},
    {Name : "Mohini", Group : 1}, {Name : "Mukul", Group : 1},
    {Name : "Dhaval", Group : 3}, {Name : "Dhiren", Group : 4},
    {Name : "Sandeep", Group : 4}, {Name : "Jignesh", Group : 1},
    {Name : "Deepak", Group : 1}, {Name : "Jigar", Group : 3},
    {Name : "Mahesh", Group : 5}, {Name : "Mitesh", Group : 1},
    {Name : "Naresh", Group : 2}, {Name : "Mohini", Group : 2},
    {Name : "Nikunj", Group : 1}, {Name : "Mahi", Group : 1}];

    vm.sortType = "Group";
    vm.sortReverse = false;

    Getdata();

    function GetData()
    {
        vm.students= students;
    }
}