因为做的后台系统做了切换路由功能,使每个路由都keep-alive,使用tinymce编辑器时总是第一次打开渲染不出内容而且不能编辑,都要刷新下才能正常显示和编辑,百度找了许多方法,试了一遍后找到了对我的项目有效的办法:
首先就是给编辑器加上个key,
<tinymce-editor :init="init" v-model="form.container" id="tinymce" :key="tinymceFlag"></tinymce-editor>
data() {
return {
tinymceFlag: 1,//是防止组件缓存导致编辑器不能正常使用,每次切换来都更改key,使其重新渲染
}
...
}
beforeDestroy() {
// 销毁组件前销毁编辑器
this.tinymce && this.tinymce.destroy();
},
activated() {
// 每次都给编辑器改变不同的key值使其每次切换页面都重新加载
this.tinymceFlag++;
},
总结:就是给编辑器加上个key