2016-07-29 14 views
0

内部の下向き矢印Iは、アコーディオンが開いているときに私の矢印が下を指すようにしたいです。 ng-repeatを使用すると、すべてのアコーディオンにis-open = "status.open"が適用されます。これにより、is-open = "status.open"がすべてのアコーディオンに適用される問題が発生します。私はそれぞれのアコーディオンにユニークな価値を持たせる必要があります。 EG:open1、open2、open3UIブートストラップアコーディオン - ngのリピート

ng-repeatで各アコーディオンに固有の値を追加するにはどうすればよいですか?

Plunker:あなたはすべてのアコーディオン・グループのオープン/クローズ状態で同じ状態変数(status.open)を使用しているhttp://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

あなたの代わりに "status.open [$インデックス]" で、オープン=を試してみましたか? (http://plnkr.co/edit/YVD2c9gzjnwzwO7XeWiZ?p=preview) – Laloutre

+0

私はこのコードを読み取る方法を好みます。私はこれを私の最終的な解決に使用しました。 – simple

答えて

1

。したがって、もし誰かが開いていれば、ステータスが同じであるので、他の人も開くでしょう。これを解決するには、status変数をng-repeatオブジェクトプロパティの一部にします。あなたはNGリピートなどのステータス変数をしたくない場合はHere is the updated plunker.

はまた、Laloutreはコメントで示唆されているように、あなたが使用することができます

<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> 

は、 "status.open [$インデックス]"-開いています=オブジェクトプロパティ。