【发布时间】:2019-03-10 13:55:24
【问题描述】:
我有一组表格列。每列可以直接和反向排序。到目前为止,我们在每个 ng-click 和 ng-show 内部都进行了排序,如下所示:
HTML
<a style="color:black" href="" ng-click="sortReverse = !sortReverse; changeSortType('id')">
Group id
<span ng-show="sortType == 'id' && !sortReverse" class="fa fa-caret-down"></span>
<span ng-show="sortType == 'id' && sortReverse" class="fa fa-caret-up"></span>
</a></th>
控制器
$scope.sortType = 'count';
$scope.sortReverse = true;
$scope.changeSortType = function (sortType){
$scope.sortType = sortType;
};
$scope.itemSortValue = function (item) {
return Service.sort(item, $scope.sortType)
};
现在我们想用一个方法替换它,它的作用相同,这样我们就可以减少 HTML 中的代码量。
我不知道如何在 AngularJS 中做到这一点。我做什么都行不通。我也看到了几个答案,但它们不起作用,或者我做错了什么。 你能帮我写代码吗?
【问题讨论】:
-
你想用方法替换什么?你能展示你想要实现的目标吗?
-
我想使用自定义方法通过 ng-click 删除排序。意味着将所有逻辑移动到控制器,如下所示:。从这个 ng-click="sortReverse = !sortReverse;changeSortType('id')" => ng-click=changeSortType('id')" 。ng-show 的原理也是一样的。这是一个工作任务,而且我们有大量的表格,所以我们想将HTML中每一列的逻辑删除到控件中。希望我回答了你的问题。
-
sortReverse 是范围变量吗?
-
我相信是的。这段代码很旧,我们正在清理它。我对angularjs也不是很好。所以,对不起,如果我说愚蠢的话。
-
如果您需要指令或服务中的代码,请告诉我您想要什么,我可以找到它..
标签: javascript angularjs sorting