vue使用ueditor关闭页面后的报“Cannot read property 'lang' of undefined”的解决办法

问题:

vue项目中引用ueditor为组件,当编辑过程中突然放弃编辑后退或者关闭组件,浏览器报错:

Uncaught TypeError: Cannot read property 'lang' of undefined
at UE.Editor.getLang (ueditor.all.js?6705:7893)
at eval (ueditor.all.js?6705:29557)

或者类似这样的错误,总之就是一些无法操作dom或者找不到某些变量之类的。
猜测是组件销毁后ueditor无法进行一些操作。
尝试大量猜测后发现当出现过自动保存后关闭并不会报错,应该是ueditor在下个自动保存的时候发现页面已经销毁了

解决方法

关闭自动保存
打开ueditor.config.js,大约100行的位置,取消注释,更改为

//启用自动保存
,enableAutoSave: false
//自动保存间隔时间, 单位ms
,saveInterval: 0

打开ueditor.all.js,大约第23976行,在方法中开头添加

if (!me.getOpt('enableAutoSave')) {return;}

屏蔽自动保存必须是需要这两步操作
至此问题解决

你可能感兴趣的:(vue)