Javascript 范围变量上的AngularUI手风琴切换

Javascript 范围变量上的AngularUI手风琴切换,javascript,angularjs,angular-ui,angular-ui-bootstrap,Javascript,Angularjs,Angular Ui,Angular Ui Bootstrap,我使用的是AngularUI引导accordion,我需要它根据来自$http请求的数据打开,以下是我的标记: <div data-accordion> <div data-accordion-group data-heading="Group 1" is-open="!$parent.toggle"> <!-- random content --> </div> <div data

我使用的是AngularUI引导accordion,我需要它根据来自$http请求的数据打开,以下是我的标记:

<div data-accordion>
    <div data-accordion-group data-heading="Group 1" is-open="!$parent.toggle">
        <!-- random content -->          
    </div>
    <div data-accordion-group data-heading="Group 2" is-open="$parent.toggle">
        <!-- random content --> 
    </div>
</div>
此设置的问题是,如果单击标题打开/关闭,变量也会切换(我希望避免这种情况)。可以通过将
处于打开状态
更改为
来避免此问题!(!!($parent.toggle)
!!($parent.toggle)


但是问题仍然存在:当$scope.toggle为false时,正确的accordion打开,当为true时,两个accordion都关闭。

一个解决方案是使用两个作用域变量open1和open2,因此当数据进入时,无论它们处于何种状态,您都可以将正确的变量设置为true。如果accordion已关闭,则这也应该起作用属性close others设置为true。

是的,我最终使用了类似的方法(不得不对数据进行一点洗牌)。
randomService.getdata(id).then(function(response) {
    randomService.toggle = response.data;
    $scope.toggle = randomService.toggle;
});