有没有办法获取手风琴组是否开放?我知道有isOpen指令,但我不确定是否有办法在html中访问其状态.使用(和滥用?)双向绑定我可以设置一个变量来保持该状态,但是如果不执行像isOpen0,isOpen1,isOpen2等那样的嵌套手风琴就不会有效.我也可以使用ng-init来“声明”一个新的isOpen在嵌套手风琴的范围,但这听起来不是一个好主意.
<accordion> <accordion-group is-open="isOpen"> <accordion-heading> <div ng-class="{'myClass': isOpen}">Static Text</div> </accordion-heading> This content is straight in the template. </accordion-group> </accordion>
首先,您必须使用父对象
like in Angular UI’s docs’ example,例如状态对象:
<div accordion-group="" ng-init="status = {isOpen: false}" is-open="status.isOpen"> <div accordion-heading=""> <div ng-class="{'is-open': status.isOpen}">NUTRIENT PROFILES</div> </div> ... </div>
然后,您可以完美地使用嵌套手风琴的相同对象名称.原因很简单:accordion-group指令将为每个组实例化一个新范围.这样,当status.isOpen更改时,它不会影响其他组.