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

Angular-UI Keep Accordion Open During Interval Update

我有一个手风琴组,我用 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>

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

<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 范围继承概念,您无法保持打开状态。我的意思是,你删除数组的一个元素并推入另一个元素,angular 必须删除前一个并插入新的。