ng-click切换双重语句

时间:2016-08-02 13:13:38

标签: angularjs

我有一个显示电影列表的ng-repeat,每次重复都是一个图标,点击时将当前索引设置为model.displayedIndex

<span><i ng-click="toggle($index); model.displayedIndex = $index"></i></span>

    <div class="additional_info" ng-show="$index === model.displayedIndex">
        {{movie.overview}}
    </div>>

当点击图标时,ng-show检查$index === model.displayedIndex是否值相同,语句为真,并显示div。这样只有ng-repeat中的ng-show才是真的。

但现在我正在寻找一种方法来点击相同的图标时切换ng-show。现在没有任何反应,因为值​​model.displayedIndex等于index。在这种情况下,如何将ng-show设置为false?

我已尝试将以下内容添加到我的图标中:

<span><i ng-click="toggle($index); model.displayedIndex = $index ; toggleInfo = !toggleInfo"></i></span>

在我的div中:

<div class="additional_info" ng-show="$index === model.displayedIndex || toggleInfo">

但很明显,model.displayedIndex仍然等于索引,所以ng-show仍然设置为true。

1 个答案:

答案 0 :(得分:2)

FP1001 287 111 (blank) 应该调用此函数

ng-click

如果您点击当前的$scope.toggleDisplay = function(index){ if(index == $scope.model.displayedIndex) $scope.model.displayedIndex = -1; else $scope.model.displayedIndex = index; } - 它会将其设置为displayedIndex,然后-1条件将为ng-show

这是您更新的范围

false