[英]owl-carousel is not working with *ngfor loop in angular with html template
我有 html 5 模板,我將它與使用 owl-carousel 的 angular 9 一起應用,並且它與 static 數據一起工作正常。 我想將動態數組與貓頭鷹輪播一起使用,我正在使用 *ngfor 循環,但它無法正常工作。 當我嘗試使用循環時,所有項目都是垂直的,並且圖像無法正確顯示。
<div class="page-content"> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="heading-title-alt text-left "> <h3 class="text-uppercase">portfolio Carousel</h3> <span class="text-uppercase">Lid est laborum dolo rumes fugats untras.</span> </div> <.--portfolio carousel--> <div *ngFor="let item of imageArr"> <div id="portfolio-carousel" class="portfolio-with-title col-3 portfolio-gallery"> <div class="portfolio-item"> <div class="thumb"> <img src="assets/img/portfolio/01.jpg" alt=""> <div class="portfolio-hover"> <div class="action-btn"> <a href="assets/img/portfolio/01.jpg" class="popup-gallery" title="lightbox view"> <i class="icon-basic_magnifier"></i> </a> </div> </div> </div> <div class="portfolio-title"> <h4><a href="assets/img/portfolio/01,jpg" class="popup-gallery2" title="lightbox view">perspiciatis unde omnis</a></h4> <p><a href="#">category 1</a>. <a href="#">category 3</a> </p> </div> </div> <div class="portfolio-item"> <div class="thumb"> <img src="assets/img/portfolio/02.jpg" alt=""> <div class="portfolio-hover"> <div class="action-btn"> <a href="assets/img/portfolio/02.jpg" class="popup-gallery" title="lightbox view"> <i class="icon-basic_magnifier"></i> </a> </div> </div> </div> <div class="portfolio-title"> <h4><a href="assets/img/portfolio/02,jpg" class="popup-gallery2" title="lightbox view">denouncing pleasure</a></h4> <p><a href="#">category 1</a>. <a href="#">category 3</a> </p> </div> </div> <div class="portfolio-item"> <div class="thumb"> <img src="assets/img/portfolio/03.jpg" alt=""> <div class="portfolio-hover"> <div class="action-btn"> <a href="assets/img/portfolio/03.jpg" class="popup-gallery" title="lightbox view"> <i class="icon-basic_magnifier"></i> </a> </div> </div> </div> <div class="portfolio-title"> <h4><a href="assets/img/portfolio/03,jpg" class="popup-gallery2" title="lightbox view">annoyances accepted</a></h4> <p><a href="#">category 1</a>. <a href="#">category 3</a> </p> </div> </div> <div class="portfolio-item"> <div class="thumb"> <img src="assets/img/portfolio/04.jpg" alt=""> <div class="portfolio-hover"> <div class="action-btn"> <a href="assets/img/portfolio/04.jpg" class="popup-gallery" title="lightbox view"> <i class="icon-basic_magnifier"></i> </a> </div> </div> </div> <div class="portfolio-title"> <h4><a href="assets/img/portfolio/04,jpg" class="popup-gallery2" title="lightbox view">annoyances accepted</a></h4> <p><a href="#">category 1</a> , <a href="#">category 3</a> </p> </div> </div> </div> </div> <!--portfolio carousel--> </div> </div> </div> </div>
我已將此添加到循環的默認代碼中。
這里 imageArr 是圖像數組。
<div class="page-content"> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="heading-title-alt text-left "> <h3 class="text-uppercase">portfolio Carousel</h3> <span class="text-uppercase">Lid est laborum dolo rumes fugats untras.</span> </div> <.--portfolio carousel--> <div id="portfolio-carousel" class=" portfolio-with-title col-3 portfolio-gallery"> <div class="portfolio-item" *ngFor="let item of imageArr"> <div class="thumb"> <img src="assets/img/portfolio/01.jpg" alt=""> <div class="portfolio-hover"> <div class="action-btn"> <a href="assets/img/portfolio/01.jpg" class="popup-gallery" title="lightbox view"> <i class="icon-basic_magnifier"></i> </a> </div> </div> </div> <div class="portfolio-title"> <h4><a href="assets/img/portfolio/01,jpg" class="popup-gallery2" title="lightbox view">perspiciatis unde omnis</a></h4> <p><a href="#">category 1</a> , <a href="#">category 3</a> </p> </div> </div> </div> <!--portfolio carousel--> </div> </div> </div> </div>
這里有一個特別注意,當我在開發人員選項元素中使用默認代碼時,有一個 html 樹,當我使用 *ngfor 循環時它會更改它會影響 html 樹。
這是腳本
$("#portfolio-carousel").owlCarousel({ autoPlay: 3000, //Set AutoPlay to 3 seconds items: 3, itemsDesktop: [1199, 3], itemsDesktopSmall: [979, 3], navigation: true, pagination: false, navigationText: ["<i class='fa fa-angle-left'></i>", "<i class='fa fa-angle-right'></i>"], loop:true });
我也遇到了類似的問題。
解決方案是應用 ngx-owl-carousel-o(兼容性高於 Angular 6)。
異步數據到輪播的傳輸是通過模板指令執行的。
你可以參考ngx-owl-carousel-o 。
您可以通過stackblitz查看實時示例。
我有同樣的錯誤現在它工作 1000%
setTimeout(function(){
$('.blog-slides').owlCarousel({
loop: true,
nav: true,
dots: true,
autoplayHoverPause: true,
autoplay: true,
margin: 30,
navText: [
"<i class='bx bx-chevron-left'></i>",
"<i class='bx bx-chevron-right'></i>"
],
responsive: {
0: {
items: 1,
},
576: {
items: 1,
},
768: {
items: 2,
},
992: {
items: 3,
}
}
});
}, 2000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.