У меня есть проект Angular 8 с Bootstrap 4.3.1 и ng-bootstrap 5.1.1.
Насколько я понимаю, когда вы включаете ng-bootstrap в свой проект, нет необходимости вручную добавлять jQueryпоскольку он инкапсулирован в ng-bootstrap, поэтому он НЕ включен в мой проект.
Из документации по ng-bootstrap:
Должен ли я добавить bootstrap.js или bootstrap.min.js для моего проекта?
Нет, цель ng-bootstrap - полностью заменить реализацию JavaScript для компонентов.Не следует также включать другие зависимости, такие как jQuery или popper.js.Это не обязательно и может помешать коду ng-bootstrap.
Поэтому я добавил компонент Collapse на свою страницу, но он не работает.Во всех вопросах о SO я видел, что причина всегда заключалась в том, что jQuery отсутствует, поэтому я добавил предыдущее пояснение.
HTML в моем компоненте выглядит следующим образом:
<article>
<div class="row">
<section class="col-md-10">
some content
</section>
<button class="btn btn-primary"
data-toggle="collapse"
data-target="#details"
aria-expanded="false"
aria-controls="details">
<fa-icon class="col-md-2 clickable"
[icon]="faCaretSquareDown" ></fa-icon>
</button>
</div>
<div class="row collapse" id="details">
<section>
some content
</section>
<section>
some content
</section>
<section>
<button class="btn btn-primary" (click)="edit()">Edit</button>
</section>
</div>
</article>
Итак, вопрос в том, ошибаюсь ли я в первоначальном предположении о JQuery или что-то не так в том, как я создал этот компонент?
ОБНОВЛЕНИЕ : я пытался заменить весь этот HTMLс примером кода Свернуть из документов Bootstrap, и он тоже не работал.Так что я действительно не понимаю, в чем проблема.Я также попытался добавить jQuery непосредственно на страницу индекса, используя официальный CDN, но безрезультатно.