У меня такой аккордеон:
Мне нужно, чтобы стрелка была такой ^
, когда аккордеон открыт, и вот так v
, когда аккордеон закрыт
Разметка выглядит так: обратите внимание (click)="toggleAssignedTasks()"
на div
accordion-heading с этим я переключаюAssignedTasks, а затем меняю класс fontawesome стрелки вниз на вверх или вверх соответственно:
<accordion class="row th-assigned-ready">
<accordion-group [isOpen]="isAssignedTasksVisible" >
<div class="th-heading" accordion-heading (click)="toggleAssignedTasks()">
<strong class="th-text-ready">Ready for Review (2)</strong>
<i class="fa"
[ngClass]="{'fa-chevron-down': isAssignedTasksVisible, 'fa-chevron-up': !isAssignedTasksVisible}"
aria-hidden="true"></i>
</div>
...
</accordion-group>
</accordion>
Это работает, но когда пользователь нажимает аккордеон, событие сбивается, кажется, что событие (щелчок) поглощается событием по умолчанию для аккордеонов.
Я также пробовал использовать собственный [showArrows] = "true" в аккордеоне вот так:
but I get error:
Promise rejection: Template parse errors:
Can't bind to 'showArrows' since it isn't a known native property ("
</div>
<accordion class="row th-assigned-ready" [ERROR ->][showArrows]="true" >
<accordion-group [isOpen]="isAssignedTasksVisible" >
"):
ОБНОВИТЬ:
toggleAssignedTasks () выглядит так
public toggleAssignedTasks(): void {
this.isAssignedTasksVisible = (this.isAssignedTasksVisible) ? false : true;
}
toggleAssignedTasks()
? Кроме того, почему вы используете курсив для шеврона? Наконец,showArrows
не является родным, поэтому Angular ищет свойство в компоненте Accordian, которого не существует, поэтому возникает ошибка. Если возможно, попробуйте воспроизвести эффект, который вы видите в плунжере, и кому-то будет намного проще помочь вам понять, что идет не так. - person ABabin   schedule 17.08.2016[ngClass]="{'fa-chevron-down': isAssignedTasksVisible, 'fa-chevron-up': !isAssignedTasksVisible}" aria-hidden="true">
у вас есть класс нижнего шеврона, применяемого, когдаisAssignedTasksVisible
истинно, и верхний шеврон, применяемый, когда он ложный. Это даст вам противоположность тому, что вы ищете (вам нужен ^, когда задачи видны). Это может вызвать сбойtoggleAssignedTasks()
, еслиisAssignedTasksVisible
имеет значение по умолчанию. - person ABabin   schedule 17.08.2016(click)="toggleAssignedTasks()"
на тег для элемента шеврона, и это должно дать вам то, что вы ищете.(click)
прикрепляет прослушиватель событий щелчка к любому элементу, на который вы его поместили. Прямо сейчас у вас есть это в div для всего заголовка. - person ABabin   schedule 17.08.2016