Javascript Angularjs表排序指令
我已经为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}}' +
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元素添加显示和隐藏排序图示符图标的逻辑。