问题:在使用onlyoffice时,将onlyoffice封装成单独的组件,通过props穿值config到组件,父组件内动态改变config中的url等数据,子组件通过watch拿到新的数据,但是并没有创建新的DocsAPI.DocEditor对象。文档没有重新加载。
解决:使用destroyEditor 方法先销毁之前创建的对象再重新创建新的对象。
官网写法:
var onRequestClose = function () {
if (window.opener) {
window.close();
return;
}
docEditor.destroyEditor();
};
var docEditor = new DocsAPI.DocEditor("placeholder", {
"events": {
"onRequestClose": onRequestClose,
...
},
...
});
我的写法:
let docsObeject:any = null;
const loadOffice = () => {
if(docsObeject)
{
docsObeject.destroyEditor();
}
docsObeject = new DocsAPI.DocEditor("placeholder", {
......
})
}
补充: