我正在try 在Angular中使用Bootstrap Carbon(17)."上一页下一页"按钮不起作用. carousel 仍然卡在第一张图像中.控制台中没有错误.我在这里看到很多问题都有同样的问题,但没有一个给出答案(这有效).

我从Bootstrap网站复制/粘贴了以下HTML(在名为goals.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文件中,我已将Bootstrap引用添加到脚本和样式:

"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"
]

有人知道还缺少什么吗?

非常感谢!!

推荐答案

Bootstrap Carousel docs起,

控制和指示器元素必须具有与.carousel元素的id相匹配的data-bs-target属性(或link的href).

从您的代码中,您正在使用data-*属性,该属性仅在Bootstrap版本5之前可用.根据Migration docs名,

所有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-bs-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-bs-slide="next"
    >
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>
</div>

Demo @ StackBlitz

Angular相关问答推荐

导入浏览器模块时出错已导入commonModule的insted,animationBrower也显示错误,当p打开时

基于另一个控制值显示值的Angular 数组

Swiper 11角17 SSR Swiper断点不工作

AOS中的数据绑定--可能吗?

我正在try 将一个带有模块联盟的Angular 8项目expose 到另一个Angular 项目,Angular 是15,这可能吗?如果是这样,有什么建议吗?

如何防止打印后的空格后的HTML元素的Angular ?

ANGLE v16独立组件不能与拦截器一起工作?

如何将表单作为Angular 分量输入传递?

如果我只在组件中使用某个主题,是否需要取消订阅该主题?

Angular 不使用NgRx的简单CRUD应用程序

BehaviorSubject 在 Angular 中制作数据之间的时间表(或计时器)

TypeError:this.restoreDialogRef.afterClosed 不是函数

Angular:try 在点击次数后禁用按钮

ng test 和 ng e2e 之间的真正区别是什么

ngx-bootstrap modal:如何从模态中获取返回值?

如何在 ngFor 循环中创建变量?

如何在angular 5 中获取基本网址?

错误:formControlName 必须与父 formGroup 指令一起使用.您需要添加一个 formGroup 指令

在Angular2中获取服务的域名

如何在 Angular 5 react式表单输入中使用管道