根据ID打开angular-ui-bootstrap手风琴

Open angular-ui-bootstrap accordion based on ID

我有手风琴:

<accordion>
 <accordion-group  ng-repeat="group in groups" heading="{{group.title}}" id="{{group.id}}" is-open="group.open">
   <table class="table">            
       <tr>
         <td>{{group.definition}}</td>
       </tr>
    </table>
 </accordion-group>
</accordion>

并且每个手风琴都有一个唯一的 ID。

我知道如何根据位置打开手风琴:

 <button ng-click="groups[0].open = !groups[0].open">Toggle Title 1 based on index</button>

但是如何根据 ID 打开手风琴?

我目前的尝试是:http://plnkr.co/edit/c3GeaWfOgZ2YoQb2kUbW

根据我的评论,尝试这样的事情...

在你的控制器中,创建一个地图来存储开放组信息

$scope.accordionGroups = {};

如果你想让一组默认打开,试试这个

$scope.accordionGroups[groups[0].id] = true;

然后在您的模板中使用它

<accordion-group ng-repeat="group in groups"
    heading="{{group.title}}" id="{{group.id}}"
    is-open="accordionGroups[group.id]">

要使用您的按钮切换组,请使用此

<button ng-click="accordionGroups.title1 = !accordionGroups.title1">Toggle title1</button>

Plunker