Javascript AngularJS ng显示排序后无法正常工作的图标

Javascript AngularJS ng显示排序后无法正常工作的图标,javascript,angularjs,html,controller,ng-show,Javascript,Angularjs,Html,Controller,Ng Show,我正在为ng重复执行排序,而排序本身工作正常 但是,在显示/隐藏每个按钮上的插入符号时,无论单击哪个按钮,只有第一个按钮的插入符号从上到下切换 代码如下: HTML: 您不需要两个函数。您可以使用带有ng show和ng hide指令的单个函数来完成此操作。就像下面这样。但是am没有检查showAndHidCaretIcon()函数何时触发 <button ng-click="sortQuestions('createdAt')" class="sort-button chip grey

我正在为ng重复执行排序,而排序本身工作正常

但是,在显示/隐藏每个按钮上的插入符号时,无论单击哪个按钮,只有第一个按钮的插入符号从上到下切换

代码如下: HTML:


您不需要两个函数。您可以使用带有
ng show
ng hide
指令的单个函数来完成此操作。就像下面这样。但是am没有检查
showAndHidCaretIcon()
函数何时触发

<button ng-click="sortQuestions('createdAt')" class="sort-button chip grey darken-2 white-text">Newest
        <span ng-show="showAndHidCaretIcon('createdAt') === true"><i class="fa fa-caret-down"></i></span>
        <span ng-hide="showAndHidCaretIcon('createdAt') === true"><i class="fa fa-caret-up"></i></span>
    </button>

您不需要两个函数。您可以使用带有
ng show
ng hide
指令的单个函数来完成此操作。就像下面这样。但是am没有检查
showAndHidCaretIcon()
函数何时触发

<button ng-click="sortQuestions('createdAt')" class="sort-button chip grey darken-2 white-text">Newest
        <span ng-show="showAndHidCaretIcon('createdAt') === true"><i class="fa fa-caret-down"></i></span>
        <span ng-hide="showAndHidCaretIcon('createdAt') === true"><i class="fa fa-caret-up"></i></span>
    </button>

将此添加到前两个按钮-它会给我相同的结果(即,无论我单击哪个按钮,只有第一个按钮会更改),但现在其他按钮上总是有一个向下箭头。感谢您建议移动到一个功能:)将此添加到前两个按钮-它会给我相同的结果(也就是说,不管我点击哪个按钮,只有第一个按钮会改变),除了其他按钮上现在总是有一个向下箭头。谢谢你的建议,移动到一个功能:)
<button ng-click="sortQuestions('createdAt')" class="sort-button chip grey darken-2 white-text">Newest
        <span ng-show="showAndHidCaretIcon('createdAt') === true"><i class="fa fa-caret-down"></i></span>
        <span ng-hide="showAndHidCaretIcon('createdAt') === true"><i class="fa fa-caret-up"></i></span>
    </button>
$scope.showAndHidCaretIcon = function(sortPropertyName) {
    return ($scope.sort.propertyName === sortPropertyName && $scope.sort.ascending);
};