2016-07-29 67 views
0

手风琴开启时,我希望我的箭头指向下方。当我使用ng-repeat is-open =“status.open”应用于每个手风琴时。这产生了一个问题,其中is-open =“status.open”适用于所有手风琴。我需要每个手风琴都有独特的价值。 EG:open1,open2,open3UI Bootstrap手风琴 - ng-repeat内的向下箭头

如何让我的ng-repeat为每个手风琴添加一个唯一值?

Plunkerhttp://plnkr.co/edit/veFWTHuWIn2YpfgHqGMC?p=preview

<div uib-accordion-group class="panel-default" ng-repeat="group in groups" is-open="status.open"> 
    <uib-accordion-heading> 
    {{group.title}} <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i> 
    </uib-accordion-heading> 
    {{group.content}} 
</div> 
+0

您是否尝试过is-open =“status.open [$ index]”? (http://plnkr.co/edit/YVD2c9gzjnwzwO7XeWiZ?p=preview) – Laloutre

+0

我喜欢这是如何读取代码。我用这个作为我的最终解决方案。 – simple

回答

1

您正在使用的所有手风琴组的开/关状态相同状态变量(status.open)。所以如果一个人打开了,其他人也会打开,因为状态是一样的。要解决这个问题,请将状态变量设置为ng-repeat对象属性的一部分。

<div uib-accordion-group class="panel-default" ng-repeat="group in groups" is-open="group.open"> 
    <uib-accordion-heading> 
    {{group.title}} <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': group.open, 'glyphicon-chevron-right': !group.open}"></i> 
    </uib-accordion-heading> 
    {{group.content}} 
</div> 

Here is the updated plunker.

或者,如Laloutre的意见提出,你可以使用是开放式= “status.open [$指数]”,如果你不想要的状态变量为NG-重复对象属性。