在从 Code Editor 保存代码时丢失组件信息
@jenter [#1331评论](https://github.com/artf/grapesjs/issues/1331#issuecomment-409537048)和[#2644评论](https://github.com/artf/grapesjs/issues/2644#issuecomment-598666594)是很好的例子。另外可以看看[#2664评论](https://github.com/artf/grapesjs/issues/2664#issuecomment-600533428),这是个需要避免的陷阱! 干杯!
阅读下方完整回答 ↓问题
我已经在网页构建器中集成了代码编辑选项。使用 'editor.getHtml()' 获取当前 HTML 内容并在代码编辑器中填充在从代码编辑器保存代码时,我使用 'editor.setComponents()' 将编辑内容设置为构建画布。 问题从代码编辑器保存html后,它会丢失所有旧组件相关信息,并作为一个新组件,特征中保留默认值。'data-gjs-type' 变成默认,无法识别自定义组件。 分析与思考 查了一下,好像是,当我们使用 'editor.getHtml()' 时,它会得到没有任何 'data-gjs-*' 属性的最终 html。'editor.setComponents()' 方法似乎覆盖了旧的组件信息。 问题为了保留所有旧组件信息并在编辑编辑HTML后使用,我们该如何做到?如果是通过使用'editor.getComponents()'实现,保存代码编辑器内容后,我们如何存储和重用?  
@sathyanarayananaCES 首先,呼应其他人的建议,最好使用“get/setComponents”和“get/setStyle”来保存编辑器的内容。 如果我理解没错,你是想用HTML来做“htmlCodeEditor”,并且用户编辑后能导入回“编辑器”。 看看编辑器导入的演示,它只是调用“setComponents”,并附带原始 HTML。 参考资料 - https://github.com/artf/grapesjs/blob/dev/docs/api/editor.md#examples 和 https://github.com/artf/grapesjs/blob/dev...
你好@sathyanarayananaCES必须调用“editor.getComponents”和“editor.getStyle”才能获取组件详情;然后你可以通过调用“editor.setComponents”和“editor.setStyle”返回存储状态,使用上述函数调用的结果。 干杯!
相关问答
通过相似的问题讨论继续研究。
问题 #3615
文本组件无法更新,无法从toHTML获得最终结果。
它是文本成分, 如果选择正文,文本会在组件到HTML方法中进行修正保存/应用/存储, 如果只是更新文本,但不保留文本部分,只需点击保存 然后使用“editor.getHTML()”,结果不会更新。  在编辑器中重置为默认的特征值
#522 感谢大家的帮助,我通过 this.model.attributes 解决了问题。但现在我又遇到了另一个问题,editor.setComponents 在 html 编辑器中重置了 value,且 html 还原为默认特征值。 应用流程 1)用户被重定向到 grapes...
问题 #2118
把动态方块配置保存成HTML吗?(倒计时,滑行者)
我正在尝试将模板数据保存到数据库中。目前我让它正常工作。它会把“资产”、“组件”、“样式”、“HTML”和“CSS”数据(就像它保存到浏览器的本地存储一样)发布到PHP脚本中。 我发现,“组件”部分(“editor.getComponents()”)包含了包含所有动态元素(如“...
问题 #2207
:如果在顶部/左侧有空位,Mode Absolute 无法拖动组件
给定以下代码示例...... “'' HTML <div style=“height: 100px;”> 顶部或左侧有空隙 </div> <div id=“gjs”> <p style=“填充:25px”> 赫斯德洛世界!!</p> </div> 导致无法通过面板上的拖曳图标拖...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。