javascript - AngularUI Accordion 切换范围变量

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

我正在使用 AngularUI Bootstrap 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>

这是传入数据的示例:

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

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

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

最佳答案

一个解决方案是使用两个作用域变量 open1 和 open2,这样当数据进来时你总是可以将正确的设置为 true,无论它们处于什么状态。如果 accordion 具有属性,这也应该有效close-others 设置为 true。

关于javascript - AngularUI Accordion 切换范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21700604/

相关文章:

javascript - Angular ui 路由器 : Can you change state without changing URL?

javascript - 缩放和旋转后,HTML5 Canvas 会回移

javascript - JS函数去除两个相互干扰的不同类

angularjs - 第一次运行 Angular 4 Web 应用程序项目后显示空白屏幕

javascript - Angular bootstrap-ui,不显示字形

javascript - 查找表单中选中的复选框数量,结果是实际数量的两倍

javascript - 如何在 Javascript 中覆盖父级的方法?

javascript - 如何在一次 jQuery 调用中在两个文本之间切换?

AngularJS UI 路由器 : Get list of child states of a given state

javascript - Angular 基本路由问题