In Angular entwickelte das offizielle Team neben der Entwicklung der Materialkomponentenbibliothek auch ein Component Dev Kit, das berühmte CDK in der Angular-Welt. Dieses Toolkit bietet viele allgemeine Funktionen für die Front-End-Entwicklung. Fast alle bekannten Angular-Komponentenbibliotheken basieren auf diesem Entwicklungskit. Wie ANT, PrimeNG usw. In diesem Artikel wird CDK hauptsächlich zur Implementierung einer einfachen Toast-Komponente verwendet, wobei das Overlay-Modul in CDK verwendet wird. 1. Umweltinstallation cdk ist kein Standardmodul von Angular, Sie müssen es manuell installieren OverlayModule in cdk in app.module einführen importiere { OverlayModule } von '@angular/cdk/overlay'; @NgModule({ Erklärungen: [ AppComponent ], Importe: [ BrowserModule, OverlayModule ], Anbieter: [], Bootstrap: [Anwendungskomponente] }) exportiere Klasse AppModule { } 2. Erstellen Sie Toast-Komponenten und ToastService
2.1 Schreiben Sie Toast-Komponenten und -StileToastComponent <div Klasse="q-toast"> <div Klasse="q-toast-mask"></div> <p class="q-toast-msg">{{msg}}</p> </div> .q-toast { Polsterung: .2rem .5rem; Breite: 5rem; Position: relativ; Anzeige: Flex; Flex-Richtung: Reihe; Elemente ausrichten: zentrieren; Inhalt ausrichten: zentriert; .q-toast-maske { Position: absolut; oben: 0; links: 0; rechts: 0; unten: 0; Hintergrundfarbe: #000; Deckkraft: .8; Randradius: 2rem; } .q-toast-msg { Farbe: weiß; Z-Index: 999; } } ToastService importiere { Overlay, OverlayConfig } von '@angular/cdk/overlay'; importiere { ComponentPortal } aus '@angular/cdk/portal'; importiere { Injectable, InjectionToken, Injector } von '@angular/core'; importiere { ToastComponent } aus './toast.component'; @Injizierbar({ bereitgestelltIn: 'root' }) Exportklasse ToastService { Konstruktor(privates Overlay: Overlay) { } Anzeigen(Nachricht: Zeichenfolge) { const config = neue OverlayConfig(); const positionStrategy = this.overlay.position() .global().centerVertically().centerHorizontally(); config.positionStrategy = Positionsstrategie; let overlayRef = this.overlay.create(config); const inject = Injektor.erstellen({ Anbieter: { angeben: Toast_Ref, useValue:overlayRef }, { geben Sie ein: Toast_Msg, Wert verwenden:msg } ] }) Konsole.log(inject.get<string>(Toast_Ref)) let partal = neues ComponentPortal(ToastComponent, null, inject); overlayRef.attach(teilweise) setzeTimeout(() => { overlayRef.detach() overlayRef.dispose(); }, 2000); } } exportiere const Toast_Ref = neues InjectionToken<{}>('Toast_Ref'); exportiere const Toast_Msg = neues InjectionToken<{}>('Toast_Msg'); Toast verwenden Nach dem Schreiben des Dienstes fügt Angular ihn standardmäßig in das Stammmodul ein. Sie müssen nur den entsprechenden ToastService in die Konstruktionsmethode der Komponente schreiben, in der Toast angezeigt werden muss, und er wird normal ausgeführt. exportiere Klasse AppComponent { Konstruktor(privater Toast:ToastService) { } prüfen() { this.toast.Show('hallo cdk!') } } GIF-Effektbild Dies ist das Ende dieses Artikels über die Verwendung von Angular CDK zur Implementierung einer Service-Popup-Toast-Komponente. Weitere Informationen zur Implementierung der Toast-Komponente durch Angular CDK finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Lösung für Linux, das nicht alle Befehle unterstützt
>>: Schritte zum Initialisieren des Passworts nach der ersten erfolgreichen Installation von MySQL
Möglicherweise verwenden Sie hier Include-Dateien,...
wangEditor ist ein webbasierter Rich-Text-Editor,...
Vorwort In diesem Artikel erfahren Sie hauptsächl...
Wirkung: Code: <Vorlage> <div Klasse=&qu...
Docker-Installation Installieren von Abhängigkeit...
Wenn Sie „display:flex, justify-content: space-be...
Überblick Ich habe vor Kurzem begonnen, mir Wisse...
Inhaltsverzeichnis Ziehen Sie ein CentOS-Image Ge...
Daten initialisieren Tabelle löschen, wenn `test_...
Vorwort Im vorherigen Artikel wurde die Installat...
Als nächstes werde ich Java+Tomcat auf Centos7 in...
Umgebung: init_worker_by_lua, set_by_lua, rewrite...
Da der Router zu Hause die Bandbreite von 300 Mbi...
Manchmal müssen wir Daten aus einer anderen Bibli...
1) Geben Sie den Ordnerpfad ein, in dem die JDK-D...