Javascript 范围变量上的AngularUI手风琴切换
我使用的是AngularUI引导accordion,我需要它根据来自$http请求的数据打开,以下是我的标记: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
<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;
});