0

我陷入了一个非常危险的境地。我有一个下面的手风琴小组,我想根据逻辑中的逻辑打开。我也应该被允许一次打开两个标签。当页面加载第一个标签时也应该打开。我有以下的代码,并试图使用表达式下面的方式,但没有成功到现在:Bootstrap风琴组问题

<accordion close-others="true" > 
    <accordion-group data-ng-repeat="accordion in appTabMap[tabKey.id]" is-open="($index == 0 && accordion.enableValidation === '') || (accordion.enableValidation === 'true')"> 
    </accordion-group>  
</accordion> 

即使accordion.enableValidation是真实的,我不能够打开他们,我不知道为什么。如果选项卡关闭,则逻辑无法再次打开选项卡。我很困惑 任何帮助表示赞赏

+0

可能添加的jsfiddle? :) –

回答

0

基本上有两个问题:

  1. close-others需求等于false,如果要打开多个组。
  2. is-open中的表达式必须是可分配的,因为Angular会根据组是否打开(true)或不是(false)更新值。例如,is-open="isOpen[$index]"

见琴:https://jsfiddle.net/masa671/c3d5qgdb/

此外,还应该提高在JavaScript处理布尔变量(enableValidation)的方式,但我并没有修复然而,在小提琴(保持它更接近原始代码)。

UPDATE:

另一个小提琴演示,如何is-open表达式可以重新评估(与Re-init按钮):https://jsfiddle.net/masa671/jewap5om/

+0

我以前试过这....这不工作,当标签已打开,然后我通过点击关闭它..然后它不允许isopen表达式打开标签.. –

+0

你只需要告诉Angular,当'is-open'表达式应该重新评估时。看看我的更新上面如何做到这一点(用一个按钮)。 – masa

+0

我用类似的方法,但它没有打开这里是我的代码HTML代码 JS的代码是在下面的评论 –