Мой код работает с Angular 6 и Bootstrap 4. В конце концов, я хочу, чтобы компонент 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' });
}
нет, это еще не сделано. любая помощь будет признательна
Сегодня я больше не буду этим заниматься, но завтра мне понадобится и эта функция. Дело в том, что вам нужно внедрить jQuery в свой код Angular. Вам нужно будет объявить знак доллара $, соответствующий синтаксису jQuery, определить его внутри вашего webpack или ts config. Я подам что-нибудь завтра, хорошо?
Взгляните на это: stackoverflow.com/questions/43934727/…
Особенно этот ответ и один s ниже: stackoverflow.com/a/47996506/4892206
Я пробовал это раньше, но не повезло, я еще раз дождусь вашего ответа, большое спасибо за вашу помощь.
@ yaseen-ahmed Я все еще не пытался это проверить. Мой проект пока не продвигается. Но я этого не забыл. Оставайтесь в курсе!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте этот код, было бы лучше, если бы вы построили рабочий пример на таких сайтах, как 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>
он не работает в angular 6, я пробовал это раньше. Мне нужно угловое базовое решение, любая помощь будет признательна.
@YaseenAhmad, было бы лучше, если бы вы предоставили нам рабочий код в jsfiddle или stackblitz.
вот ссылка на stackblitz stackblitz.com/edit/angular-sbgx8m, она работает нормально, я использую метод ленивой загрузки, не уверен, почему он не работает в моем коде.
Вы смотрели github.com/thisissoon/angular-scrollspy или ngx-scrollspy?
Я не хочу использовать это, потому что я работаю над двухслойным проектом, один слой - scrollspy, а другой - простой.
Рассмотрите возможность использования функции комментариев вместо публикации ответа. Это сбивает с толку.
Вы уже решили это?