在区间更新期间,Angular-UI保持手风琴打开

时间:2016-01-20 13:59:04

标签: javascript angularjs angular-ui-bootstrap

我有一个手风琴组,我使用ng-repeat来制作动态组,效果很好。我也有$interval每60秒更新一次列表。当发生这种情况时,所有组都关闭。如何保持该用户点击的最后一组打开?

<uib-accordion>
  <uib-accordion-group class="test" ng-repeat="item in ItemsPW">
    <uib-accordion-heading>
      Header Stuff
    </uib-accordion-heading>
    <div>
      Body Contents Here
    </div>
  </uib-accordion-group>
 </uib-accordion>

1 个答案:

答案 0 :(得分:0)

您可以使用is-open="variable"来分配变量,以便了解和控制每个手风琴组的状态。

<uib-accordion>
  <uib-accordion-group class="test" ng-repeat="item in ItemsPW" is-open="accordionsOpen[$index]">
    <uib-accordion-heading>
      Header Stuff
    </uib-accordion-heading>
    <div>
      Body Contents Here
    </div>
  </uib-accordion-group>
 </uib-accordion>

所以你需要做的就是在重新加载数据之前,保存已打开的手风琴,重新加载数据并再次打开它。

由于角度范围继承概念,您无法保持打开状态。我的意思是,你删除一个数组元素并推送另一个元素,angular必须删除前一个并插入新的。