javascript - 如何在 Angular 6 中实现 bootstrap scrollspy?
问题描述
我的代码使用 Angular 6 和 Bootstrap 4 运行。最后,我希望在此设置中运行 bootstrap 的 scrollspy 组件。Bootstrap 需要 jQuery,我不知道如何让它工作。
HTML
<header>
<div class="header-nav">
<nav id="home-nav" class="navbar navbar-expand-md navbar-light bg-white fixed-top">
<a class="navbar-brand" href="#">Dashboard</a>
<button class="navbar-toggler d-lg-none" type="button" data-toggle="collapse" data-target="#navbar_header"
aria-controls="navbar_header" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar_header">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#home">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#our_mission">Our Mission</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#our_clients">our clients</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#features">features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#pricing">pricing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#faqs">Faqs</a>
</li>
</ul>
</div>
</nav>
</div>
</header>
<div class="main-content">
<section id="home">
<div class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="../../../assets/landing-page/images/slider-1.jpg" width="100%">
</div>
<div class="carousel-item">
<img src="../../../assets/landing-page/images/slider-1.jpg" width="100%">
</div>
<div class="carousel-item">
<img src="../../../assets/landing-page/images/slider-1.jpg" width="100%">
</div>
</div>
</div>
</section>
<section id="our_mission">
<p>AAAAAAAAAA</p>
</section>
<section id="our_clients"></section>
<section id="features"></section>
<section id="pricing"></section>
<section id="faqs"></section>
</div>
打字稿
ngOnInit() {
$('.main-content').scrollspy({ target: '#home-nav' });
}
解决方案
试试这个代码,如果你在 codepen 或 stackblitz 等网站上构建一个工作示例会更好。这将使我们很容易看到问题。
<header>
<div class="header-nav" data-spy="scroll" data-target=".navbar">
<nav id="home-nav" class="navbar navbar-expand-md navbar-light bg-white fixed-top">
<a class="navbar-brand" href="#">Dashboard</a>
<button class="navbar-toggler d-lg-none" type="button" data-toggle="collapse" data-target="#navbar_header"
aria-controls="navbar_header" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar_header">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#home">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#our_mission">Our Mission</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#our_clients">our clients</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#features">features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#pricing">pricing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#faqs">Faqs</a>
</li>
</ul>
</div>
</nav>
</div>
</header>
<div class="main-content">
<section id="home">
<div class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="../../../assets/landing-page/images/slider-1.jpg" width="100%">
</div>
<div class="carousel-item">
<img src="../../../assets/landing-page/images/slider-1.jpg" width="100%">
</div>
<div class="carousel-item">
<img src="../../../assets/landing-page/images/slider-1.jpg" width="100%">
</div>
</div>
</div>
</section>
<section id="our_mission">
<p>AAAAAAAAAA</p>
</section>
<section id="our_clients"></section>
<section id="features"></section>
<section id="pricing"></section>
<section id="faqs"></section>
</div>
推荐阅读
- python - 使用蒙版进行图像配准
- unit-testing - 如何对 Spring Integration 的 int-file:inbound-channel-adapter 进行单元测试
- php - 在 postgres 查询中用字符串替换更新值
- r - Stargazer 未发布回归表
- c - 为什么当 i 较小时此代码有效,但当 i 较大时会出现分段错误?
- javascript - 来自 Laravel 后端的 Angular Formbuilder 验证
- angular - angular.json 排除开发构建的资产
- c++ - 以升序对链接列表进行排序并打印已排序的列表
- javascript - res.send 与 forEach 循环
- node.js - 使用级联删除 typeorm 中的 many2many 实体