ng-click - 在 ng-repeat 中隐藏所有其他 div 不是这个 $index
ng-click - hide all other div that isn't this $index within ng-repeat
我想做的是类似于手风琴。
简单的说
我有一个带有 <a>
标签的 ng-repeat,点击后会显示另一个 div 嵌套在 ng 中的 "Printpanel" -显示.
如果用户点击另一个 <a>
标签,我想隐藏之前显示的所有其他 div,只打开那个相关的标签。
我正在使用 $index 来触发特定的 div。
这是我所做的:
<div ng-repeat="product in $ctrl.Products">
<a href="#" ng-click="showDetails = $index;>CONFIGURE</a>
<div class="Printpanel ng-hide" ng-show="showDetails == $index" ng-hide="showDetails != $index">
</div>
好像 ng-hide 没有被识别...有人有想法吗?
不需要ngShow
+ngHide
:一个就够了
<div class="Printpanel ng-hide" ng-show="showDetails == $index">
您还可以使用 ng-if
:
<div class="Printpanel" ng-if="showDetails == $index">
编辑:
由于范围继承问题,您无法设置 showDetails
变量。为此使用 $parent
。
工作示例:
<div ng-repeat="product in $ctrl.Products">
<a href="#" ng-click="$parent.showDetails = $index">CONFIGURE</a>
<div class="Printpanel" ng-if="$parent.showDetails == $index"> </div>
</div>
似乎您在这里错过了结束双引号 ng-click="showDetails = $index;
您还需要使用 ng-show/ng-hide/ng-if = 表达式
中的任何一个
我想做的是类似于手风琴。
简单的说
我有一个带有 <a>
标签的 ng-repeat,点击后会显示另一个 div 嵌套在 ng 中的 "Printpanel" -显示.
如果用户点击另一个 <a>
标签,我想隐藏之前显示的所有其他 div,只打开那个相关的标签。
我正在使用 $index 来触发特定的 div。
这是我所做的:
<div ng-repeat="product in $ctrl.Products">
<a href="#" ng-click="showDetails = $index;>CONFIGURE</a>
<div class="Printpanel ng-hide" ng-show="showDetails == $index" ng-hide="showDetails != $index">
</div>
好像 ng-hide 没有被识别...有人有想法吗?
不需要ngShow
+ngHide
:一个就够了
<div class="Printpanel ng-hide" ng-show="showDetails == $index">
您还可以使用 ng-if
:
<div class="Printpanel" ng-if="showDetails == $index">
编辑:
由于范围继承问题,您无法设置 showDetails
变量。为此使用 $parent
。
工作示例:
<div ng-repeat="product in $ctrl.Products">
<a href="#" ng-click="$parent.showDetails = $index">CONFIGURE</a>
<div class="Printpanel" ng-if="$parent.showDetails == $index"> </div>
</div>
似乎您在这里错过了结束双引号 ng-click="showDetails = $index;
您还需要使用 ng-show/ng-hide/ng-if = 表达式
中的任何一个