5

更新:当我意识到 PrimeNg 有一个 quill 实现并且我已经在使用 PrimeNg 时,我放弃了。起初没有工作,但升级到 angular 7 和 ngrx 7 beta 修复了问题。https://www.primefaces.org/primeng/#/editor

我正在尝试使用比默认工具栏更完整的工具栏在我的项目中设置 ngx-quill 文本编辑器。我只是从文档中复制了这段代码片段,还没有调整(还没有!)。

如果我不包含 modules 属性,我不会收到任何浏览器错误,但我想知道我是否有一个仅在我尝试添加它时才显示的导入问题?

说明.html

 <quill-editor modules="editorOptions"></quill-editor>

说明.ts

import { Component, Input, Output, EventEmitter } from '@angular/core';
  import * as Quill from 'quill';

@Component({
    selector: 'instructions',
    templateUrl: '../admin/instructions.html'
})

export class Instructions {
    public editorOptions = {
        toolbar: [
            ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
            ['blockquote', 'code-block'],

            [{ 'header': 1 }, { 'header': 2 }],               // custom button values
            [{ 'list': 'ordered' }, { 'list': 'bullet' }],
            [{ 'script': 'sub' }, { 'script': 'super' }],      // superscript/subscript
            [{ 'indent': '-1' }, { 'indent': '+1' }],          // outdent/indent
            [{ 'direction': 'rtl' }],                         // text direction

            [{ 'size': ['small', false, 'large', 'huge'] }],  // custom dropdown
            [{ 'header': [1, 2, 3, 4, 5, 6, false] }],

            [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
            [{ 'font': [] }],
            [{ 'align': [] }],

            ['clean'],                                         // remove formatting button

            ['link', 'image', 'video']                         // link and image, video
        ]
    };

浏览器中的错误: Quill 无法加载模块

4

3 回答 3

2

嗨,您可能会收到此错误,因为modules它是一个输入,应该用括号括起来

 <quill-editor
    theme="bubble"
    [placeholder]="editorPlacehorder"
    [modules]="moduleConfig"
    [(ngModel)]="ngModelValue"
    (onContentChanged)="onContentChanged($event)">
  </quill-editor>

并确保您已在模块 QuillModule 中导入

import { QuillModule } from 'ngx-quill';

还要将此模块添加到您的模块文件中的导入数组中,例如。应用模块

imports: [
    QuillModule
]

并确保您已导入angular.json所有文件以使 Quill 工作

  "styles": [
          "node_modules/quill/dist/quill.core.css",
          "node_modules/quill/dist/quill.bubble.css",
          "node_modules/quill/dist/quill.snow.css",
          "node_modules/quill-emoji/dist/quill-emoji.css",
          "node_modules/quill-mention/dist/quill.mention.min.css"
        ],
        "scripts": [
          "node_modules/quill/dist/quill.min.js",
          "node_modules/quill-mention/dist/quill.mention.min.js"
        ]

我希望这对您有用,如果您有任何问题,请随时问他们!

于 2019-03-28T18:03:46.767 回答
1

即使你跳船了,相信这只是你的 html:

<quill-editor modules="editorOptions"></quill-editor>

应该

<quill-editor [modules]="editorOptions"></quill-editor>
于 2020-01-23T15:39:14.090 回答
1

在这里,我给出了"ngx-quill": "^5.1.0"版本的答案。

在您的 app.module.ts 文件中

import { QuillModule } from 'ngx-quill';

@NgModule({
  imports: [QuillModule]
})

在你的 style.css 文件中

@import "~quill/dist/quill.bubble.css";
@import "~quill/dist/quill.snow.css";

在你的 html 文件中

<quill-editor [modules]="modules" [(ngModel)]="model"></quill-editor>
{{model}}

在您的打字稿文件中

model: string = '';

  modules: {
    toolbar: [
      ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
      ['blockquote'],

      [{'header': 1}, {'header': 2}],               // custom button values
      [{'list': 'ordered'}, {'list': 'bullet'}],
      [{'script': 'sub'}, {'script': 'super'}],      // superscript/subscript
      [{'indent': '-1'}, {'indent': '+1'}],          // outdent/indent
      [{'direction': 'rtl'}],                         // text direction

      [{'size': ['small', false, 'large', 'huge']}],  // custom dropdown
      [{'header': [1, 2, 3, 4, 5, 6, false]}],

      [{'color': []}, {'background': []}],          // dropdown with defaults from theme
      [{'font': []}],
      [{'align': []}],

      ['clean'],                                       // remove formatting button

      ['link', 'image', 'video',]                   // link and image, video

    ]
  };
于 2019-11-07T10:00:22.617 回答