问题标签 [grapesjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ZingChart 未在 GrapesJs 自定义组件类型中呈现
我正在尝试将 ZingChart 集成为 GrapesJs 中的自定义组件类型。我遵循了一些示例并实现了以下插件。
块.js
组件.js
index.js
常量.js
当我将块添加到画布时,它会呈现,但里面的 ZingChart 不会。我已经尝试过的一些事情:
- 验证是否正在调用 ZingChart 渲染函数。
- 尝试将 renderZingChart 函数调用移动到不同的组件挂钩。具体来说,component:mount、view.init() 和 view.onRender()。
- 将 renderZingChart 函数调用作为 script.onload 回调移动到脚本函数。可以在此处找到类似的示例:https ://grapesjs.com/docs/modules/Components-js.html#basic-scripts 。这确实正确呈现了 ZingChart,但感觉不正确,并且由于脚本函数在 GrapesJs 范围之外运行,因此不允许我传入参数。
我的想法已经用完了,所以任何指导都会很棒!谢谢!
javascript - 向 GrapesJS 动态添加块
我正在从数据库中检索动态 HTML、CSS 和 JS 代码。我怎样才能用这个创建块?目前,这是我的代码,
但它不起作用。请帮忙。
javascript - 如何从 GrapesJS 中的 Dom 组件更改类元素
我一直在寻找答案,现在想找到答案。所以这里有一个问题:我需要更新使用 editor.DomComponents.addType('myComponent') 添加的 GrapesDom 元素的类名。(在我正在使用的完整代码下方)
这是 HTML myCustomComponent 部分
任何人都会知道如何做到这一点?谢谢 :)
javascript - GrapesJs 和 PHP - 存储和加载数据以在编辑器和 HTML 页面中显示
我正在使用GrapesJS构建一个简单的网页。
我以以下方式将脚本包含在head
部分内部:
HTML:
Javascript:
所以我在块面板中得到一个块Simple block
,我可以将它拖放到编辑器上。每当进行任何更改时,都会通过对文件autosave
的 ajax 调用来触发save.php
。在里面save.php
,我有:
但在 Chrome 开发者工具网络选项卡中,我可以看到:
目前尚不清楚我应该在数据库中保存哪些有效负载变量以及如何保存。我曾经$content_found= file_get_contents('php://input');
获得完整的内容。
将其保存到数据库后,在页面刷新时,我使用load_now.php
. 在里面load_now.php
,我有:
但是编辑器没有显示保存的数据。
我很确定我保存和检索数据的方式不正确。所以要点是:
Q1)我应该在数据库中保存哪些内容?以及如何从 ajax 有效负载或以任何其他方式获取变量或数据?
Q2)如何在页面重新加载后将保存的数据显示到编辑器中?
在编辑器中,我看到一个带有眼睛图像的预览选项,可以在没有任何编辑器的情况下向我显示 HTML 页面。
Q3)将数据保存到数据库后,我怎样才能将数据简单地显示为 HTML 页面而不是在任何编辑器中?
javascript - Grapesjs中脚本文件和生命周期方法之间的区别?
我是 Grapesjs 的新手,我在 Grapesjs 文档网站上找到了介绍:
所以如果我们有这样的代码:
在文档网站上它说:
如果您现在检查由编辑器编码的生成的 HTML(通过导出按钮或 editor.getHtml()),您可能会看到如下内容:
看起来 script 标签中定义的所有东西都会在组件挂载后执行,另一方面,考虑到 Grapesjs 提供view.init()
的view.onRender()
这种生命周期方法,我想我们可能使用这种生命周期方法可以达到完全相同的效果。
script
所以我的问题是:和组件自己的生命周期方法有什么区别?
顺便说一句,我之前使用过 React,并且我在componentDidMount()
这样的生命周期中进行了大多数状态初始化和数据获取,所以我个人无法理解script
Grapesjs 中可能出现的情况(特别是当我比较这两个库时。)?
grapesjs - Grapesjs 中的 init() 和 onRender() 生命周期钩子之间的区别?
Grapesjs 提供了两种生命周期方法:init()
而且onRender()
,我实际上对这两个钩子很困惑:
正如医生所说:
- 本地钩子
view.init(
:)方法,一旦组件的视图被初始化就执行- 本地钩子:
view.onRender()
方法,在组件在画布上渲染后执行
例如,我可以this.el
在这两种方法中访问以获取 dom 元素。如果我想在 上附加一个事件监听this.el
器,哪一个更适合做这样的操作?
一般来说,这两种方法有什么区别,我应该在什么情况下使用它们?
jquery - 在grapesjs样式管理器中集成select2或任何自定义选择插件
问题是html中的默认select
元素不好所以我想要在grapesjs的样式管理器中实现select2插件。正如您在小提琴中看到的那样,我已经尝试过它并且它有效,但问题是如果我们更改其中的值不会触发事件[样式更改未应用]。select
select
请检查小提琴,让我知道正确的方法。