前端怎么把后端获取过来的数据代码通过quill-editor富文本编辑显示在页面上,用代码演示
时间: 2023-11-27 18:49:41 浏览: 79
假设后端返回的数据是一个包含 HTML 标签的字符串,前端可以通过 `innerHTML` 属性将其赋值给 `quill-editor` 组件的内容。
具体代码如下:
```html
<!-- 引入 quill-editor 组件 -->
<template>
<div>
<quill-editor v-model="content" />
</div>
</template>
<script>
import { quillEditor } from "vue-quill-editor"; // 引入 quill-editor 组件
export default {
components: {
quillEditor,
},
data() {
return {
content: "", // 初始化内容为空
};
},
mounted() {
// 模拟后端返回的数据
const dataFromBackend = "<p>Hello, world!</p>";
// 将后端返回的数据赋值给 quill-editor 组件的内容
this.content = dataFromBackend;
},
};
</script>
```
这样,后端返回的数据就会显示在 `quill-editor` 组件中了。需要注意的是,如果后端返回的数据包含一些不安全的标签或脚本,可以考虑使用第三方库如 DOMPurify 进行过滤,以确保页面的安全性。
相关问题
怎么把后端获取过来的数据代码通过quill-editor富文本编辑显示在页面上,用代码演示
首先,我们需要将后端获取到的数据赋值给Quill Editor。假设我们的数据格式如下:
```json
{
"title": "这是一篇文章",
"content": "<p>这是文章的内容</p>"
}
```
我们可以使用以下代码将内容显示在Quill Editor中:
```html
<quill-editor ref="editor" :options="editorOption"></quill-editor>
```
```javascript
import Quill from 'quill'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import { quillEditor } from 'vue-quill-editor'
export default {
components: { quillEditor },
data() {
return {
editorOption: {
// 配置Quill编辑器选项
placeholder: '请输入内容'
},
content: '',
}
},
mounted() {
// 将获取到的内容赋值给Quill Editor
this.content = '<p>这是文章的内容</p>'
this.$refs.editor.quill.setContents(this.convertHtmlToDelta(this.content))
},
methods: {
// 将HTML格式的内容转换为Delta格式
convertHtmlToDelta(html) {
const delta = Quill.import('delta')
const converter = Quill.import('core').htmlConverter
return converter.convert(html)
}
}
}
```
在上面的代码中,我们将获取到的HTML格式的内容转换为Delta格式,并使用`setContents`方法将其赋值给Quill Editor。
需要注意的是,我们需要在`mounted`钩子函数中进行赋值操作,因为Quill Editor需要在组件加载完成后才能正确渲染。
怎么把后端获取过来的数据代码通过quill-editor富文本编辑显示在页面上
你可以使用 `quill-editor` 的 `setContents` 方法来将后端获取的数据渲染到富文本编辑器中。具体实现步骤如下:
1. 在组件中引入 `quill-editor` 组件:
```javascript
import { quillEditor } from 'vue-quill-editor'
```
2. 在模板中使用 `quill-editor` 组件,并为其绑定 `:content` 属性(即后端获取的数据):
```html
<template>
<quill-editor ref="myQuillEditor" :content="content" :options="editorOption"></quill-editor>
</template>
```
3. 在组件的 `created` 钩子中,通过后端 API 获取数据,并将获取到的数据赋值给组件的 `content` 属性:
```javascript
export default {
data() {
return {
content: '',
editorOption: {...} // quill-editor 的配置项
}
},
created() {
// 通过后端 API 获取数据
axios.get('/api/content')
.then(response => {
this.content = response.data.content
this.$nextTick(() => {
// 将获取到的数据渲染到富文本编辑器中
this.$refs.myQuillEditor.quill.setContents(JSON.parse(this.content))
})
})
.catch(error => {
console.log(error)
})
}
}
```
4. 在 `quill-editor` 的配置项中,设置 `readOnly` 属性为 `true`,以避免用户对已有内容进行编辑:
```javascript
editorOption: {
readOnly: true,
// 其他配置项...
}
```
这样,就可以将后端获取的数据通过 `quill-editor` 渲染到页面上了。
阅读全文