Angularの力のおかげで、WangEditorコンポーネントのカプセル化は非常に簡単です 1. yarnまたはnpmを使用してwangeditorをインストールする
2. Angularコンポーネントを作成する
3. コンポーネントロジックをカプセル化する 3.1 テンプレート
3.2 TSロジック '@angular/core' から { Component、ElementRef、EventEmitter、Input、OnDestroy、OnInit、Output、ViewChild、ViewEncapsulation } をインポートします。 '@angular/forms' から ControlValueAccessor をインポートします。 「wangeditor」からEをインポートします 'highlight.js' から hljs をインポートします 「node_modules/highlight.js/styles/xcode.css」をインポートします。 @成分({ セレクター: 'q-wang-editor', テンプレート URL: './q-wang-editor.component.html', スタイルURL: [ './q-wang-editor.component.less', '../../../../../node_modules/highlight.js/styles/xcode.css'], カプセル化: ViewEncapsulation.None、 }) エクスポートクラス QWangEditorComponent は OnInit、ControlValueAccessor、OnDestroy を実装します { @ViewChild("王") エディター!: ElementRef; @Input() 値: 文字列 = ''; @Input() 高さ = 300; @Output() 値の変更 = 新しい EventEmitter(); onChange: ((値: 文字列) => {}) | 未定義; html = '' wangEditor: E | 未定義; コンストラクタ() { } ngOnDestroy(): void { this.wangEditor?.destroy(); } 書き込み値(obj: 任意): void { .html をコピーします。 this.wangEditor?.txt.html(this.html) } 変更時に登録(fn: any): void { } タッチ時に登録(fn: any): void { } ngOnInit(): void { タイムアウトを設定する(() => { this.wangEditor = 新しい E(this.editor.nativeElement) this.wangEditor.config.zIndex = 500; this.wangEditor.config.height = this.height this.wangEditor.highlight = hljs; this.wangEditor.config.onchange = (html: 任意) => { this.valueChange.emit(html) (変更後)の場合 html の変更をこのメソッドで保存します。 } } this.wangEditor.config.onchangeTimeout = 500; この.wangEditor.create(); this.wangEditor.txt.html(this.html) }, 200); } } 一般的な考え方:
4. コンポーネントを使用する
5. 効果のプレビュー 6. 最後 WangEditor の Angular コンポーネントのカプセル化は基本的に完了しています。写真のアップロードなど、さらに機能が必要な場合は、ニーズに応じて機能を追加できます。 WangEditor リッチ テキスト コンポーネントの Angular カプセル化に関するこの記事はこれで終わりです。Angular WangEditor リッチ テキスト コンポーネントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も皆様に 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux に Python 3.8.1 をインストールするための詳細なチュートリアル
>>: docker redis5.0 clusterの実装 クラスタ構築
MySQL データベースでは、null は一般的な状況です。MySQL での null に関する注意...
この記事では、MySQL インストールの詳細なチュートリアルを記録し、全員と共有します。 1. バー...
ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...
脆弱性の紹介SigRed の脆弱性はワーム化可能であるため非常に危険です。つまり、ユーザーの介入なし...
この記事の例では、簡単なショッピングカート機能を実現するためのjsの具体的なコードを参考までに共有し...
この記事では、テーブルの作成、フィールドの追加、フィールドの変更、インデックスの追加を行う一般的な ...
SQL インジェクション脆弱性を悪用する後期段階では、MySQL のファイル シリーズ関数を使用して...
目次バックグラウンドで10,000個のデータが失われた再帰法非再帰的方法要約するバックグラウンドで1...
nginx を使用して 1 つのサーバーに複数のフロントエンド プロジェクトをデプロイする 3 つの...
序文ウェブサイトのアクセス元をカウントしたい場合は、PHP を使用して情報を取得してデータベースに記...
大規模なシステムに取り組んだことがある人なら誰でも、ログの役割を過小評価してはならないことを知ってい...
この記事では、マウス追従ゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内...
usemap は <img> タグの属性であり、使用するイメージ マップの名前を指定する...
目次例えば:一般的な執筆:要約する例えば:次に、データベースのUSERテーブルにUserオブジェクト...
この記事は主にJavaScriptを使用してWeb計算機を実現する効果を記録し、参考として掲載してい...