我陷入了非常危险的境地。我有一个以下的手风琴组,我想根据逻辑中的逻辑打开。我也应该被允许一次打开两个标签。页面加载时,第一个选项卡也应该打开。我有以下代码,并尝试使用以下方式的表达,但直到现在都没有成功:
web.config
即使 <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>
为真,我也无法打开它们,我不知道为什么。如果选项卡已关闭,则逻辑无法再次打开选项卡。我很困惑。
答案 0 :(得分:0)
基本上,有两个问题:
close-others
需要等于false
。is-open
中的表达式必须是可分配的,因为Angular会根据组是否打开(true
)或不是false
来更新值。例如,is-open="isOpen[$index]"
。请参阅小提琴:https://jsfiddle.net/masa671/c3d5qgdb/
此外,你应该改进在JavaScript中处理布尔变量的方式(enableValidation
),但我还没有在小提琴中修复它(以使它更接近原始代码)。
<强>更新强>
另一个要证明的问题,如何重新评估is-open
表达式(使用Re-init
按钮):https://jsfiddle.net/masa671/jewap5om/