Когда я нажимаю на кнопку, она содержит show
класс и после другого нажатия show
удаляет, что я сделал, но теперь мой вопрос заключается в том, когда я нажимаю на кнопку <div class="dropdown-menu">
содержит show
класс и снова нажимаю удалить show
class
Я не хочу добавлять bootstrap.js, jquery.js and pooper.js
в свой угловой проект, я не хочу другую директиву для клика или изменения класса.
app.component.ts
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="btn-group">
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"
appDropdown>Action</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
</div>
</div>
dropdown.directive.ts
import {Directive, HostBinding, HostListener} from '@angular/core';
@Directive({
selector: '[appDropdown]'
})
export class DropdownDirective {
@HostBinding('class.show') toggle = false;
@HostListener('click') dropdownToggle() {
this.toggle = !this.toggle;
console.log('clicked');
}
}