Ngx-Bootstrap - Карусель

ngx-bootstrap Carousel используется для создания слайд-шоу изображений или текста

CarouselComponent

Базовый элемент для создания карусели.

селектор

  • carousel

Входы

  • activeSlide - номер, индекс текущего отображаемого слайда (начат с 0)

  • indicatorsByChunk - логическое значение, по умолчанию: false

  • interval- номер, задержка цикла элемента в миллисекундах. Если false, карусель не будет работать автоматически.

  • isAnimated- boolean, Включить / выключить анимацию. Анимация не работает для многоуровневой карусели, по умолчанию: false

  • itemsPerSlide - число, по умолчанию: 1

  • noPause - логическое

  • noWrap - логическое

  • pauseOnFocus - логическое

  • showIndicators - логическое

  • singleSlideOffset - логическое

  • startFromIndex - число, по умолчанию: 0

Выходы

  • activeSlideChange- Будет выдан при смене активного слайда. Часть свойства [(activeSlide)] с возможностью двустороннего связывания

  • slideRangeChange - Будет выдаваться, когда активные слайды были изменены в многостраничном режиме.

SlideComponent

селектор

  • slide

Входы

  • active - boolean, активен ли текущий слайд

пример

Поскольку мы собираемся использовать карусель, нам нужно обновить app.module.ts, используемый в главе о кнопках ngx-bootstrap, чтобы использоватьCarouselModule.

Обновите app.module.ts, чтобы использовать CarouselModule.

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';

@NgModule({
   declarations: [
      AppComponent,
      TestComponent
   ],
   imports: [
      BrowserAnimationsModule,
      BrowserModule,
      AccordionModule,
      AlertModule,
      ButtonsModule,
      FormsModule,
      CarouselModule
   ],
   providers: [AlertConfig],
   bootstrap: [AppComponent]
})
export class AppModule { }

Обновите test.component.html, чтобы использовать карусель.

test.component.html

<div style="width: 500px; height: 500px;">
   <carousel [noWrap]="noWrapSlides" [showIndicators]="showIndicator">
      <slide *ngFor="let slide of slides; let index=index">
         <img [src]="slide.image" alt="image slide" style="display: block; width: 100%;">
         <div class="carousel-caption">
			<h4>Slide {{index}}</h4>
            <p>{{slide.text}}</p>
         </div>
      </slide>
   </carousel>
   <br/>
   <div>
      <div class="checkbox">
         <label><input type="checkbox" [(ngModel)]="noWrapSlides">Disable Slide Looping</label>
         <label><input type="checkbox" [(ngModel)]="showIndicator">Enable Indicator</label>
      </div>
   </div>
</div>

Обновите test.component.ts для соответствующих переменных и методов.

test.component.ts

import { Component, OnInit } from '@angular/core';
import { CarouselConfig } from 'ngx-bootstrap/carousel';

@Component({
   selector: 'app-test',
   templateUrl: './test.component.html',
   providers: [
      { provide: CarouselConfig, useValue: { interval: 1500, noPause: false, showIndicators: true } }
   ],
   styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
   slides = [
      {image: 'assets/images/nature/1.jpg', text: 'First'},
      {image: 'assets/images/nature/2.jpg',text: 'Second'},
      {image: 'assets/images/nature/3.jpg',text: 'Third'}
   ];
   noWrapSlides = false;
   showIndicator = true;
   constructor() { }

   ngOnInit(): void {
   }
}

Создавайте и обслуживайте

Выполните следующую команду, чтобы запустить сервер angular.

ng serve

После того, как сервер запущен и работает. Откройте http: // localhost: 4200 и проверьте следующий вывод.