Javascript Angularjs表排序指令

Javascript Angularjs表排序指令,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我已经为AngularJS编写了以下指令,不幸的是,并不是所有东西都能正常工作 myApp.directive("thsort", function() { return { restrict : 'A', transclude : true, template : '<span ng-click="onClick()">' + '<span ng-transclude></span>{{column}}' +

我已经为AngularJS编写了以下指令,不幸的是,并不是所有东西都能正常工作

myApp.directive("thsort", function() {
return {
    restrict : 'A',
    transclude : true,
    template : '<span ng-click="onClick()">' +
        '<span ng-transclude></span>{{column}}' +
        ' <span class="glyphicon glyphicon-sort"></span>' +
        //'<span class="glyphicon" ng-class="{\'glyphicon-sort-by-alphabet\' : column == by && !descending,  \'glyphicon-sort-by-alphabet-alt\' : column==by && descending}"></span>'+
        '</span>',
    scope : {
        by : '='
    },
    link : function($scope) {
        $scope.onClick = function() {
            if ($scope.$parent.column == $scope.by) {
                $scope.$parent.descending = !$scope.$parent.descending;
            } else {
                $scope.$parent.column = $scope.by;
                $scope.$parent.descending = false;
            }
            //test
            $scope.$watch('column', function() {
                this.column = $scope.$parent.column;
            });
        };
    }
};});
myApp.directive(“thsort”,function()){
返回{
限制:“A”,
是的,
模板:“”+
“{{column}}”+
' ' +
//''+
'',
范围:{
作者:'='
},
链接:功能($scope){
$scope.onClick=function(){
如果($scope.$parent.column==$scope.by){
$scope.$parent.descending=!$scope.$parent.descending;
}否则{
$scope.$parent.column=$scope.by;
$scope.$parent.descending=false;
}
//试验
$scope.$watch('列',函数()){
this.column=$scope.$parent.column;
});
};
}
};});
以下是HTML代码:

<thead>
<tr>
    <th thsort by="'tName'">Name</th>
    <th thsort by="'tStart'">Start</th>
    <th thsort by="'tEnd'">Ende</th>
    <th thsort by="'tLocation'">Ort</th>
    <th thsort by="'sfName'">Verantwortlicher</th>
    <th thsort by="'tPublic'">Public?</th>
    <th></th>
</tr></thead>

<tbody>
<tr ng-repeat="friend in friends | orderBy:column:descending">

名称
开始
恩德
奥特
藜芦科
平民的
我已经为AngularJS编写了以下指令,不幸的是,并不是所有东西都能正常工作。 不幸的是,我不可能隐藏图标。访问$scope.$列的父级,但我无法执行。仅当当前行正在排序时,才会显示图标。Happy DESC和ASC不同

我还希望指令“thsort”到“table”适用,这样任何带有“by”的“th”都会自动寻址。(只是一点点缀)

我想为我创建一个小小的帮助,以便能够快速、轻松地将此指令应用于表。甚至可能在同一范围内的表之间

当前状态为plnkr.co


如果有人能帮助我,我很高兴。

你能把这个问题翻译成英语吗?我得到的是,您已经构建了一个
thsort
指令,但它是如何中断的?第一步,如果选择了一列,我想显示图标。该行已被删除。但是我无法从模板中访问$scope.$parent.column。为什么不使用AngularJs中包含的OrderBy筛选器?我使用的是
orderBy
。。。但是,我不想向每个th元素添加显示和隐藏排序图示符图标的逻辑。