Ngx-Bootstrap - Carousel
Karuzela ngx-bootstrap służy do tworzenia pokazów slajdów zawierających obrazy lub tekst
CarouselComponent
Podstawowy element do tworzenia karuzeli.
selektor
carousel
Wejścia
activeSlide - numer, indeks aktualnie wyświetlanego slajdu (rozpoczęty od 0)
indicatorsByChunk - boolean, domyślnie: false
interval- liczba, Opóźnienie cyklicznej zmiany pozycji w milisekundach. Jeśli fałsz, karuzela nie będzie przełączać się automatycznie.
isAnimated- boolean, Włącz / wyłącz animację. Animacja nie działa w przypadku wielolistowej karuzeli, wartość domyślna: fałsz
itemsPerSlide - numer, domyślnie: 1
noPause - boolean
noWrap - boolean
pauseOnFocus - boolean
showIndicators - boolean
singleSlideOffset - boolean
startFromIndex - liczba, domyślnie: 0
Wyjścia
activeSlideChange- Zostanie wyemitowany po zmianie aktywnego slajdu. Część właściwości [(activeSlide)] z możliwością wiązania dwukierunkowego
slideRangeChange - Zostanie wyemitowany, gdy aktywne slajdy zostaną zmienione w trybie multilistowym
SlideComponent
selektor
slide
Wejścia
active - boolean, Czy bieżący slajd jest aktywny
Przykład
Ponieważ zamierzamy używać karuzeli, musimy zaktualizować app.module.ts używane w rozdziale Przyciski ngx-bootstrap, aby używaćCarouselModule.
Zaktualizuj app.module.ts, aby używał 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 { }
Zaktualizuj test.component.html, aby używać karuzeli.
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>
Zaktualizuj test.component.ts pod kątem odpowiednich zmiennych i metod.
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 {
}
}
Buduj i służ
Uruchom następujące polecenie, aby uruchomić serwer kątowy.
ng serve
Gdy serwer jest już uruchomiony. Otwórz http: // localhost: 4200 i sprawdź następujące dane wyjściowe.