问题 #2941💬 已回答提出于 2020年8月6日作者 nhh0 个反应

问题:为什么编辑器本身不使用“gjs-html”来表示画布?

快速解答作者 artf

如果你重新加载 HTML,所有组件信息都会丢失(这里有部分解释,[https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates)])。 打个比方,试着把Photoshop文件和JPG作为输出来看待。如果你重新加载JPG,你就看不到Photoshop项目中使用的图层。 你得自己想办法让插值和组件兼容(比如对某个端点做异步调用并更新组件内容)

阅读下方完整回答 ↓

问题

嘿,

我们目前正在使用 Grapejs 来创建 Liquid 模板(Shopify 语法)。目前的实现方式会让模板,例如 “{{ name }}'” 在编辑器中不渲染。

这是因为即使服务器在存储/加载周期后插值了“gjs-html”,编辑器仍然使用未插值的“gjs-components”来表示编辑者的内容。

为什么编辑器不使用渲染出来的 HTML 来显示?据我了解,组件结构只在内部用于组件分配。

有没有办法绕过这种行为?(我其实不太想在组件json上运行插值)

回答(1)

artf2020年8月26日

如果你重新加载 HTML,所有组件信息都会丢失(这里有部分解释,[https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates)])。 打个比方,试着把Photoshop文件和JPG作为输出来看待。如果你重新加载JPG,你就看不到Photoshop项目中使用的图层。

你得自己想办法让插值和组件兼容(比如对某个端点做异步调用并更新组件内容)

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。