angular - 如何在 Angular 7 中从 ckeditor 5 检索数据?

标签 angular typescript ckeditor angular7

我正在使用 我的 Angular 7 项目中的 CKEditor 5 .我遵循官方文档,并在编辑器内容更改时使用 检索数据'更改事件' .现在我想在单击保存按钮时检索数据。

  • 我在 中没有保存按钮CKEditor 的工具栏 ,如何添加呢?
  • 每当我单击该保存按钮时如何检索数据?
  • 我想使用 CK编辑在表单中,以便在单击提交按钮时检索数据。如何做到这一点?

  • 这是html代码:
    <ckeditor [editor]="Editor"  (change)="onChange($event)"  >
    </ckeditor>
    <button (click)=save()>Save</button>
    

    这是 typescript :
    public Editor = ClassicEditor;
    
    public onChange( { editor }: ChangeEvent ) {
    const data = editor.getData();
    console.log( data );
    }
    
    save(){
    const data = this.Editor.getData();
    console.log( data );
    }
    

    提前致谢。

    最佳答案

    如果您想避免使用 ngModel,我发现了另一种可以使用的方法。 .

    在您的模板中为 editor 命名(在本例中,我将其命名为 myEditor ):

    <ckeditor #myEditor [editor]="editor" data="<p>Hello, world!</p>"></ckeditor>
    

    然后在你的组件代码中获取它的引用(由于某种原因,我无法导入 CKEditorComponent 类,所以我不得不使用 any 类型)。通过引用,可以获取编辑器实例并从该实例获取数据。这是一个示例(例如,可以通过单击按钮触发 saveArticle() 方法):
    @Component({
      ...
    })
    export class ArticleEditComponent {
      @ViewChild('myEditor') myEditor: any;
    
      saveArticle() {
        console.log(this.getArticleContent());
      }
    
      private getArticleContent() {
        if (this.myEditor && this.myEditor.editorInstance) {
          return this.myEditor.editorInstance.getData();
        }
    
        return '';
      }
    }
    

    关于angular - 如何在 Angular 7 中从 ckeditor 5 检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53646873/

    相关文章:

    javascript - RxJs 重复事件链

    angular - Ionic 事件在延迟加载模块之间无法正常工作

    typescript - 如何对非 nullCheck 安全的库使用 strictNullChecks

    node.js - Jest 测试失败,错误为 "DataSource is not set for this entity"

    typescript - 是否有与 TypeScript 兼容的方式来使用 Sequelize 访问关联实体?

    django - 无法在 django-ckeditor 中配置 youtube 插件

    jquery - 如何将泰米尔语字体添加到ckeditor?

    angular - 如何处理在 Angular 4 中丢失深度导入

    angular - ERROR TypeError : You provided 'undefined' where a stream was expected. 您可以在 Angular 服务中提供 Observable、Promise、Array 或 Iterable

    javascript - 自定义 CKeditor 5 的下拉按钮