如果ng-repeat中的项目是最后一个,则隐藏图像

时间:2016-04-05 09:52:47

标签: angularjs

我有以下代码:

<li class="child-item" role="menuitem" ng-show="isSubMenu" ng-repeat="sublink in subLinks" ng-class="{'last' : $last && setLastElemFlag($last) || false}" ng-click="stopPropagation()">
    <img id="child-item-bullet" /><span class="sub-child-span">{{sublink.name}}</span>
    <img id="child-dotted-lines-bottom" ng-hide="isLastElement"/>
    <img id="child-dotted-lines-bottom-2" ng-hide="isLastElement" />
</li>

下面是我的setLastElemFlag函数:

$scope.setLastElemFlag = function (value) {
    alert(value);
    $scope.isLastElement = value;
}

我想要做的是,一旦ng-repeat中的项目是最后一项,我想隐藏子点划线底部和子点划线底部2。但是,上述代码不是仅隐藏最后一对,而是隐藏了图像的所有实例。

为了使事情更加清晰,这就是我想要实现的目标:

Expected output

但我得到了这个:

wrong output

我的代码出了什么问题?

感谢。

1 个答案:

答案 0 :(得分:3)

尝试使用$last

<li class="child-item" role="menuitem" ng-show="isSubMenu" ng-repeat="sublink in subLinks" ng-class="{'last' : $last && setLastElemFlag($last) || false}" ng-click="stopPropagation()">
    <img id="child-item-bullet" /><span class="sub-child-span">{{sublink.name}}</span>
    <img id="child-dotted-lines-bottom" ng-hide="$last"/>
    <img id="child-dotted-lines-bottom-2" ng-hide="$last" />
</li>

以下是docs