Rich-Text-Editor in Angular
Wir werden vorstellen, wie man einen Rich-Text-Editor in Angular erstellt und welche Bibliotheken wir erstellen können.
Verwenden Sie die Bibliothek Angular-Editor
, um einen Rich-Text-Editor in Angular zu erstellen
Beim Erstellen eines Content-Management-Systems oder einer beliebigen Web-Software, die die Funktionalität benötigt, um Benutzern das Bearbeiten von Inhalten zu ermöglichen, haben wir zwei Möglichkeiten: Verwenden Sie einfachen Text oder erstellen Sie einen Rich-Text-Editor. Ein Rich-Text-Editor wird verwendet, um Text mit vielen verfügbaren Optionen zu formatieren.
Wir können Bilder, Links, Audio und Videos hinzufügen, die in HTML-Inhalte umgewandelt werden.
Es gibt viele Bibliotheken in Angular, die uns helfen können, einen Rich-Text-Editor in unsere Webanwendung zu integrieren, wie zum Beispiel Angular-Editor
, Angular Trix
, Angular Meditor
, ngQuill
und Angular inline text editor
.
Die Bibliothek, die wir verwenden werden, um einen Rich-Text-Editor zu erstellen, ist @kolkov/angular-editor
. Wir können @kolkov/angular-editor
mit dem Paketmanager npm
installieren.
# CLI
npm install @kolkov/angular-editor --save
Nach der Installation müssen wir HttpClientModule
von @angular/common/http
und AngularEditorModule
von @kolkov/angular-editor
in app.module.ts
importieren.
Unser app.module.ts
sieht wie folgt aus.
# angular
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpClientModule} from '@angular/common/http';
import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';
import { AngularEditorModule } from '@kolkov/angular-editor';
@NgModule({
imports: [ BrowserModule, FormsModule, AngularEditorModule, HttpClientModule ],
declarations: [ AppComponent, HelloComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Jetzt können wir unseren Rich-Text-Editor mit AngularEditorConfig
konfigurieren. Wir können die folgenden Konfigurationen vornehmen.
Konfiguration | Typ | Voreinstellung | Beschreibung |
---|---|---|---|
editable |
Boolean |
true |
Editor aktivieren oder deaktivieren |
spellcheck |
Boolean |
true |
Aktivieren oder deaktivieren Sie die Rechtschreibprüfung |
translate |
string |
yes |
Aktivieren oder deaktivieren Sie die Übersetzung |
sanitize |
Boolean |
true |
Aktivieren oder deaktivieren Sie die DOM-Bereinigung |
height |
string |
auto |
Wir können die Höhe des Editors damit einstellen |
minHeight |
string |
0 |
Wir können die minimale Höhe des Editors damit einstellen |
maxHeight |
string |
auto |
Wir können damit die maximale Höhe des Editors einstellen |
width |
string |
auto |
Wir können die Breite des Editors damit einstellen |
minWidth |
string |
0 |
Wir können die minimale Breite des Editors damit einstellen |
enableToolbar |
Boolean |
true |
Symbolleiste aktivieren oder deaktivieren |
showToolbar |
Boolean |
true |
Symbolleiste ein- oder ausblenden |
toolbarPosition |
string |
top |
Wir können die Position der Symbolleiste als oben oder unten festlegen |
placeholder |
string |
- | Wir können einen Platzhalter für den Editor setzen |
defaultParagraphSeparator |
string |
- | Wir können standardmäßige Absatztrennzeichen wie das Tag p definieren |
defaultFontName |
string |
- | Wir können die Standardschriftart wie Arial einstellen |
defaultFontSize |
string |
- | Wir können die Standardschriftgröße festlegen |
uploadUrl |
string |
- | Wir können den Bild-Upload-Endpunkt festlegen und eine Antwort mit dem imageUrl-Schlüssel zurückgeben. “{“Bild URL” : }” |
upload |
function |
- | Wir können die Funktion zum Hochladen von Bildern verwenden. |
uploadWithCredentials |
Boolean |
false |
Wir können das Hochladen von Bildern passwortgeschützt machen oder nicht. |
fonts |
Font[] |
- | Wir können eine Reihe von Schriftarten festlegen, die verwendet werden können, z. B. [{Name, Klasse}] und so weiter. |
customClasses |
CustomClass[] |
- | Wir können ein Array verfügbarer Klassen festlegen, die im Editor verwendet werden können. |
outline |
Boolean |
true |
Wir können die Gliederung des Editors in den Fokus setzen. |
toolbarHiddenButtons |
string[][] |
- | Wir können ein Array von Schaltflächennamen oder Elementen festlegen, die ausgeblendet werden. |
Mit den obigen Konfigurationen konfigurieren wir unseren Rich-Text-Editor.
# angular
import { Component } from '@angular/core';
import { AngularEditorConfig } from '@kolkov/angular-editor';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
name = 'Angular 6';
htmlContent = '';
config: AngularEditorConfig = {
editable: true,
spellcheck: true,
height: '10rem',
minHeight: '5rem',
placeholder: 'Enter text in this rich text editor....',
defaultParagraphSeparator: 'p',
defaultFontName: 'Arial',
customClasses: [
{
name: 'Quote',
class: 'quoteClass',
},
{
name: 'Title Heading',
class: 'titleHead',
tag: 'h1',
},
],
};
}
Wir werden eine Vorlage mit dem Tag angular-editor
erstellen, um unseren Rich-Text-Editor und die Ausgabe unseres Rich-Text-Editors anzuzeigen; Wir verwenden die Variable htmlContent
, die wir in app.component.ts
definiert haben.
Unser Code in app.component.html
sieht wie folgt aus.
# angular
<h1>AngularEditor</h1>
<angular-editor [(ngModel)]="htmlContent" [config]="config"></angular-editor>
<h1>HTML Output</h1>
<div class="html">
{{ htmlContent }}
</div>
Ausgabe:
Auf diese einfache Weise können wir einen Rich-Text-Editor erstellen.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn