如何在 ngx-quill 编辑器中填充数据并保持格式不变?

发布于 2025-01-12 02:56:04 字数 232 浏览 0 评论 0原文

我能够以角度创建 ngx-quill 编辑器。 但我无法理解如何在编辑器中填充数据。 鹅毛笔编辑器返回 html 和 delta 对象。当用户下次访问该页面时,我没有看到任何有关如何将其填充到编辑器中的选项。

QuillJs 有一些像 setContents 这样的 API,但需要使用 quill 实例来调用,并且在角度上我无法理解如何获取 quill 实例然后调用 setContents 方法。

预先感谢您的帮助。

I am able to create ngx-quill editor in angular.
I am not able to understand how to populate the data in the editor though.
quill editor returns html and well as delta object. I dont see any option on how to populate it into the editor when the next time user comes to the page.

QuillJs has some APIs like setContents but it needs to be called using quill instance and in angular I am not able to understand how to get the quill instance and then call setContents methods.

Thanks in advance for the help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扛刀软妹 2025-01-19 02:56:04

您可以使用 ngModel ->

ngModel - 设置初始值或允许模板驱动表单的双向数据绑定

检查 ngx-quill

You can use ngModel ->

ngModel - set initial value or allow two-way databinding for template driven forms

Check ngx-quill

向地狱狂奔 2025-01-19 02:56:04

以防万一,如果有人想用 html 格式填充数据,甚至不使用反应式表单,那么这可能是一个建议。
IN HTML :

<quill-editor
  [styles]="{ height: '400px' }"
  id="textEditor"
  (onContentChanged)="contentChanged($event)"
  (onEditorCreated)="created($event)"
>

IN .TS :

 created(event: any) {
    console.log(event);
    var html = localStorage.getItem('html');
    if (html != null) {
      event.root.innerHTML = html;
    }
  }

  changedEditor(event: EditorChangeContent | EditorChangeSelection) {}

  contentChanged(obj: any) {
    localStorage.setItem('html', obj.html);
  }

基本上,您在这里所做的就是在 localStorage 中编辑内容时存储 HTML 文件,实际上,您希望将其存储在数据库中,然后存储在每次编辑器时调用的创建方法中在渲染屏幕时加载,您在 editor.root.innerhtml 中分配 HTML

Just in case if anyone wants to populate the data with html formatting without even using reactive forms then this can be a suggestion.
IN HTML :

<quill-editor
  [styles]="{ height: '400px' }"
  id="textEditor"
  (onContentChanged)="contentChanged($event)"
  (onEditorCreated)="created($event)"
>

IN .TS :

 created(event: any) {
    console.log(event);
    var html = localStorage.getItem('html');
    if (html != null) {
      event.root.innerHTML = html;
    }
  }

  changedEditor(event: EditorChangeContent | EditorChangeSelection) {}

  contentChanged(obj: any) {
    localStorage.setItem('html', obj.html);
  }

What basically you are doing here is you are storing the HTML file while editing the content in localStorage, In practical you would want to store it in database and then in the created method which is called every time the editor is loaded while rendering the screen you are assigning the HTML in editor.root.innerhtml

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文