能否卸载并摧毁编辑器实例或重新加载配置选项?
您可以随时访问RemoteStorage并更新网址: “JavaScript const RemoteStorage = 编辑器。StorageManager.get('remote'); RemoteStorage.set('urlLoad', [urlLoad]); RemoteStorage.set('urlStore', [urlStore]); ```
阅读下方完整回答 ↓问题
在我的使用场景中,我尝试动态更改存储并加载远程存储管理器使用的URL。据我所知,如果我直接更改配置,编辑器不会识别并使用任何更改,比如说, “编辑。Config.storageManager.storeUrl = 'blah' 编辑器已经初始化后。
为了解决这个问题,我尝试通过程序化移除目标DOM元素并调用初始化来卸载编辑器。然而,init 函数似乎创建了多个编辑器实例。我注意到GrapesJS.editors数组在跟踪这些实例,所以我尝试把它设置为空,希望实例能被垃圾回收。然而,即使在这种情况下,编辑器的事件处理程序似乎仍会在之后触发,从而保存错误的数据。
理想情况下,我希望能用某种解构器方法销毁编辑器(如果还没有的话),或者强制重新加载配置选项而不重新加载编辑器。
回答(3)
您可以随时访问RemoteStorage并更新网址: “JavaScript const RemoteStorage = 编辑器。StorageManager.get('remote'); RemoteStorage.set('urlLoad', [urlLoad]); RemoteStorage.set('urlStore', [urlStore]);
@ajwootto,
你可以创建一个自定义的远程存储,并在里面应用你自定义的保存/更新逻辑。
请查看这个链接:https://github.com/artf/grapesjs/wiki/API-Storage-Manager
这两个选项大概都行得通,但我忘了提,有些情况下我想用预先指定的组件和样式重新初始化编辑器(比如在初始化中传递),而不是从远程存储加载,但在其他情况下,我希望初始内容只来自远程存储。这种情况发生在同一页面上,编辑器的内容需要被调换。是不是有什么API我没注意到,可以做到这一点?
相关问答
通过相似的问题讨论继续研究。
问题 #384
创建并编辑模板到数据库中
这是我创建新模板并将带有样式的内联HTML插入数据库的代码: “''js VAR Editor = Grapesjs.init ({ 身高:“100%”, 容器:“#gjs”, 插件:['GJS-preset-newsletter'], storageManager: { id...
问题 #1655
IsComponent() 未被调用
我正在尝试制作一个插件,但我遇到了 isComponent 的问题。我的组件在编辑器加载代码时不会调用它,这是脚本。我哪里错了? 索引 组成部分 封锁
问题 #2073
使用 urlLoad 遇到的问题
我在调用终端加载模板时遇到问题,它正在执行预检选项请求,但我找不到在确认后继续的方法 componentDidMount() { this.editor = GrapesJS.init({ 容器:“#grapeEditor”, 插件:[gjsPresetNewsletter],...
问题 #1985
远程存储的自动保存不会发送网络请求
操作系统:Windows 10 浏览器:Chrome 73 GrapesJS 版本:'0.14.57' 我用这个调用 'grapesjs.init()' 配置了远程存储: 虽然我在Chrome开发工具的网络标签里看到“/load”请求触发,但无论我在编辑器里做多少修改,都没看到...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。