我想通過創建一個AngularJS指令來排序我的表中的列來清理我的一些HTML代碼。當我點擊標題時,沒有記錄錯誤,但沒有任何反應,列不重新排序。AngularJS自定義排序指令
指令
Glenn.directive('sort', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
scope.predicate = 'title';
scope.reverseSort = false;
element.on('click', function() {
scope.predicate = attrs.sort;
scope.reverseSort != scope.reverseSort;
});
}
}
});
HTML
<th>
<a sort="title" href="">Title
<span ng-show="predicate == 'title'">
<span ng-show="!reverseSort"><i class="fa fa-caret-up"></i></span>
<span ng-show="reverseSort"><i class="fa fa-caret-down"></i></span>
</span>
</a>
</th>
我要去哪裏錯了嗎?我是否需要使用諸如$ apply之類的東西來使排序更改顯示在dom中?
不,謝謝,我不希望使用的過濾器,我試圖清理HTML,不想加入'NG點擊=「orderByField =‘名字’; reverseSort =! reverseSort;「' –