AngularUI Accordion在范围变量上切换

时间:2014-02-11 11:28:56

标签: javascript angularjs angular-ui angular-ui-bootstrap

我正在使用AngularUI Bootstrap手风琴,我需要根据数据打开它,来自$ 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>

以下是数据的示例:

randomService.getdata(id).then(function(response) {
    randomService.toggle = response.data;
    $scope.toggle = randomService.toggle;
});

此设置的问题是,如果我单击标题打开/关闭,变量也会切换(我想避免这种情况)。通过分别将is-open更改为!( !!($parent.toggle)!!($parent.toggle)可以避免这种情况。

然而问题仍然存在:当$ scope.toggle为假时,正确的手风琴是打开的,而两个手风琴都是关闭的。

1 个答案:

答案 0 :(得分:2)

一种解决方案可能是使用两个范围变量open1和open2,因此无论数据是什么状态,您都可以在数据进入时将正确的变量设置为true。如果手风琴具有属性,这也应该有效close-others设为true。