我正在尝试在 Angular 中使用 Bootstrap 轮播 (17)。然而,上一个和下一个按钮不起作用;它仍然停留在第一张图像上。控制台中没有错误。我看到这里发布的很多问题都有同样的问题,但没有一个有答案(有效)。
我从 Bootstrap 网站复制/粘贴了以下 html(在名为 goal.component.html 的组件中),并添加了一些来自网络的随机图片:
<div class="bd-example">
<div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://abeltasmanmuseum.nl/wp-content/uploads/2024/02/Foto-Borg-Rikkerda.jpeg" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
<img src="https://abeltasmanmuseum.nl/wp-content/uploads/2024/02/1.jpg" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Second slide label</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div class="carousel-item">
<img src="https://abeltasmanmuseum.nl/wp-content/uploads/2024/02/1.jpg" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Third slide label</h5>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleCaptions" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleCaptions" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
typescript 文件如下(没有更改任何内容,只是默认的 Angular TS 文件):
import { Component } from '@angular/core';
@Component({
selector: 'app-goals',
standalone: true,
imports: [],
templateUrl: './goals.component.html',
styleUrl: './goals.component.css'
})
export class GoalsComponent {
}
在 angular.json 文件中,我添加了对两个脚本的引导引用作为样式:
"styles": [
"src/styles.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/bootstrap/dist/js/bootstrap.min.js"
]
有人知道还缺少什么吗?
非常感谢!!
控制和指示器元素必须具有与
元素的 id 匹配的data-bs-target
属性(或链接的 href)。.carousel
从您的代码中,您使用的是
data-*
属性,该属性仅在 Bootstrap 版本 5 之前可用。根据 迁移文档,
所有 JavaScript 插件的数据属性现在都已命名,以帮助区分 Bootstrap 功能与第三方和您自己的代码。例如,我们使用
代替data-bs-toggle
。data-toggle
将所有
data-*
属性迁移到 data-bs-*
<div class="bd-example">
<div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
<ol class="carousel-indicators">
<li
data-bs-target="#carouselExampleCaptions"
data-bs-slide-to="0"
class="active"
></li>
<li data-bs-target="#carouselExampleCaptions" data-bs-slide-to="1"></li>
<li data-bs-target="#carouselExampleCaptions" data-bs-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img
src="https://abeltasmanmuseum.nl/wp-content/uploads/2024/02/Foto-Borg-Rikkerda.jpeg"
class="d-block w-100"
alt="..."
/>
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
<img
src="https://abeltasmanmuseum.nl/wp-content/uploads/2024/02/1.jpg"
class="d-block w-100"
alt="..."
/>
<div class="carousel-caption d-none d-md-block">
<h5>Second slide label</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div class="carousel-item">
<img
src="https://abeltasmanmuseum.nl/wp-content/uploads/2024/02/1.jpg"
class="d-block w-100"
alt="..."
/>
<div class="carousel-caption d-none d-md-block">
<h5>Third slide label</h5>
<p>
Praesent commodo cursus magna, vel scelerisque nisl consectetur.
</p>
</div>
</div>
</div>
<a
class="carousel-control-prev"
href="#carouselExampleCaptions"
role="button"
data-slide="prev"
>
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a
class="carousel-control-next"
href="#carouselExampleCaptions"
role="button"
data-slide="next"
>
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>