在使用ElementUI的JSP项目中,集成富文本编辑器QuillEditor

1.莫名其妙:引入QuillEditor的三种方式

项目中需要使用QuillEditor富文本的三种方式,

①如果单独的在JSP中使用是没什么问题的(参考Quill的官方文档,巴拉巴拉的也应该没有什么问题),

②如果是单独的ElementUI项目,import引入组件应该也没有什么问题,

以上两种方式在Quill的官方文档都有详细的介绍。

③接下来介绍的就是在JSP和ElementUI的项目中引入(完成从①到②的过度)。

本以为在JSP中集成了ElementUI(Vue)后,剩余的问题看看官方文档基本就搞定了。奈何一坑接一坑(非主流操作不建议尝试,遇到问题太难定位)。

问题就出在JSP和ElementUI的混搭项目中,Quill按照原始的引入方式引入后,可以显示富文本框但是工具栏按钮都没有效果。

2.解决思路:如何在JSP中引入第三方Vue组件

猜测可能的原因:原始的Quill引入和ElementUI有冲突。解决思路就是将Quill以原始的方式引入为ElementUI的组件(③=以①引入+以②使用))。

在Vue的文档中只介绍了自定义组件和import导入组件,显然不能解决目前的问题,那就看Quill的文档果然有收获,发现了vue-quill-editor.js,这正是第二种方式引入的组件。

那么如何通过第一种方式引入呢?

①第一步:引入JS和CSS

<link href="${pageContext.request.contextPath}/quill/quill.snow.css" rel="stylesheet">
<link href="${pageContext.request.contextPath}/quill/quill.bubble.css" rel="stylesheet">
<script type="text/javascript" src="${pageContext.request.contextPath}/quill/quill.min.js"></script>
<%-- 上面的是①引入,下面这个是②引入的关键 --%>
<script type="text/javascript" src="${pageContext.request.contextPath}/quill/vue-quill-editor.js"></script>

②第二步:通过全局方法 Vue.use() 使用插件

Vue.use(window.VueQuillEditor);
 components: {
     //IE兼容写法
     VueQuillEditor:VueQuillEditor,
 },
VueQuillEditor是vue-quill-editor.js中定义的模块。这两个是重点,相当于import引入

③使用quill-editor组件

<quill-editor
            v-model="eidtorContent"
            ref="myQuillEditor"
            :options="editorOption"
            :style="{ height: '70%',width: '100%' }" >
</quill-editor>

3.总结

刚开始用Vue,就被迫使用这种野蛮的方式我很难受。总之忙了一天把富文本集成成功,辛苦没有白费,其他的第三方组件也可以借鉴这种思路引入。

----------------------------------------------------------------------------------------

曾经浪迹天涯,只为寻找本心;如今吾虽浪迹天涯,却未迷失本心。

posted @ 2019-12-26 10:15  Masting  阅读(1029)  评论(1编辑  收藏  举报