Angular UI 手风琴中的手风琴
Angular UI accordion within an accordion
在 Angular UI 中有没有办法在手风琴中放置手风琴?我希望顶级列表全部关闭,直到 selected 一个项目,然后打开手风琴以显示另一个也会打开和关闭的手风琴列表。
在我当前的实现中,当我 select 内部列表项时,两个手风琴都被触发,而内部的则关闭。它们不是在自己的 $scope 中吗?
这个问题很相似,但是jQuery:accordion within accordion collapses parent accordion
<accordion>
<accordion-group ng-repeat="folder in folders | orderBy:'name' " ng-click="select_folder(folder)">
<accordion-heading>
{{ folder.name }}
</accordion-heading>
<accordion>
<accordion-group ng-repeat="file in folder.files">
<accordion-heading>
{{ file.name }}
</accordion-heading>
{{ file.info }}
</accordion-group>
</accordion>
</accordion-group>
</accordion>
我想我找到了问题所在。 <accordion-group>
标签上不应有 ng-click
属性。通过将其向下移动到 <accordion-heading>
标记,嵌套手风琴可以正常工作。这也在这里讨论:
<accordion>
<accordion-group ng-repeat="folder in folders | orderBy:'name' ">
<accordion-heading>
<span ng-click="select_folder(folder)">{{ folder.name }}</span>
</accordion-heading>
<accordion>
<accordion-group ng-repeat="file in folder.files">
<accordion-heading>
<span ng-click="select_folder(folder)">{{ file.name }}</span>
</accordion-heading>
{{ file.info }}
</accordion-group>
</accordion>
</accordion-group>
</accordion>
另一种方法是 $watch
is-open
属性中的值:
在 Angular UI 中有没有办法在手风琴中放置手风琴?我希望顶级列表全部关闭,直到 selected 一个项目,然后打开手风琴以显示另一个也会打开和关闭的手风琴列表。
在我当前的实现中,当我 select 内部列表项时,两个手风琴都被触发,而内部的则关闭。它们不是在自己的 $scope 中吗?
这个问题很相似,但是jQuery:accordion within accordion collapses parent accordion
<accordion>
<accordion-group ng-repeat="folder in folders | orderBy:'name' " ng-click="select_folder(folder)">
<accordion-heading>
{{ folder.name }}
</accordion-heading>
<accordion>
<accordion-group ng-repeat="file in folder.files">
<accordion-heading>
{{ file.name }}
</accordion-heading>
{{ file.info }}
</accordion-group>
</accordion>
</accordion-group>
</accordion>
我想我找到了问题所在。 <accordion-group>
标签上不应有 ng-click
属性。通过将其向下移动到 <accordion-heading>
标记,嵌套手风琴可以正常工作。这也在这里讨论:
<accordion>
<accordion-group ng-repeat="folder in folders | orderBy:'name' ">
<accordion-heading>
<span ng-click="select_folder(folder)">{{ folder.name }}</span>
</accordion-heading>
<accordion>
<accordion-group ng-repeat="file in folder.files">
<accordion-heading>
<span ng-click="select_folder(folder)">{{ file.name }}</span>
</accordion-heading>
{{ file.info }}
</accordion-group>
</accordion>
</accordion-group>
</accordion>
另一种方法是 $watch
is-open
属性中的值: