给特质赋予“本能”或“阶级”。
有没有可能给特征赋予“id”或“class”,比如我用select trails,想给“select”HTML标签赋予“id”以便执行事件。
artf
点击这里 https://github.com/artf/grapesjs/issues/589
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
已收录 3,464 个 GitHub 问题 — 370 个已解决 · 90 个待解决 搜索、筛选并探索经过实战检验的答案。
找到 3,464 个问题
有没有可能给特征赋予“id”或“class”,比如我用select trails,想给“select”HTML标签赋予“id”以便执行事件。
artf
点击这里 https://github.com/artf/grapesjs/issues/589
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
我能不能在导入 HTML 到 Grapejs 时使用标签链接(例如 bootstrap css 链接或我的主题链接)和样式?
artf
@volgan确定 #27
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
我正在使用一个特性(type=select)来更改组件的类(一个“列”组件,也就是代表宽度为1-12的类)。在我移除了之前的“col-*”类并添加新选中的类(通过select更改触发的函数)后,样式管理器的类部分仍然保留着旧类。如果我选择另一个组件,然后再次选择该列,它会得到新的、正确的类。我怎样才能在样式管理器中强制刷新,而不取消或重新选择该组件? 也许我添加或移除类的方式不对,如果样式管理器视图应该会自动更新的话。这是Backbone的标准内容吗?如果是的话,我很希望能推荐一本简明的Backbone入门指南。 相关组件创建:
z1lk
啊。ClassTagsView(样式管理器的类部分)在编辑器模型中,在事件“change:selectedComponent”时更新选择列表。 https://github.com/artf/grapesjs/blob/66c19dae4ff5536a34b9ea73d3614fc76752a77c/src/selector_manager/view/ClassTagsView.js#L54 通过在我的“changeColClass”方法末尾添加以下内容,解决了我的问题:
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
谢谢你的组件,我非常喜欢。 我有一些动态方块(我有标签页,切换标签页时,我会添加一组方块,然后移除另一组方块。问题是当我移除旧的区块时,无法移除它们的分类。 如果我用 js 删除它们的类别(document.querySelectorAll('.gjs-block-category'),然后用 .remove() 替换每个类别),下次打开旧标签页时这些类别就不会出现了。 有没有办法在切换标签页和更改区块时,在BlockManager里以动态方式更改类别?
artf
@kkuksin你不需要移除方块/分类,你应该直接重新渲染方块。我们在这里讨论过块和标签页 #499
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
有时 traits change 事件不会在模型和视图上触发事件,我看到下面有类似错误。 未捕获范围错误:最大呼叫堆栈大小超过。 在HTMLDivElement。<anonymous> (grapes.min.js:9229) 在O(grapes.min.js:8871) 在i.each(grapes.min.js:9131) 在i.trigger(grapes.min.js:9228) 在 i.o.trigger(grapes.min.js:23251) 在i.O.Click(grapes.min.js:23274) 在 F.i.openSettings (grapesjs-hsbc.js:1232) 在HTMLDivEleme...
artf
@krunal039你说的是哪个活动?你能举个例子说明是如何再现的吗
krunal039
下面@artf是CodePen链接,我添加了名为Slider的自定义组件。当你把滑块放到编辑器里然后点击它时,应该会打开特性管理器,如果你把链接标题或链接到打开的值改成空白,它会跳出高报错误。 https://codepen.io/kmpdev/full/LORdOM/ 错误: 未捕获范围错误:最大呼叫堆栈大小超过。 2grapes.min.js:2 未捕获范围错误:最大呼叫堆栈大小超过。 在HTMLDivElement。<anonymous> (https://cdnjs...
artf
我无法重现任何错误,但我第一眼看到的问题是你更新模型的方式 “''js ... someModel.attributes.href = this.get(“ahref”); 用途 someModel.set('href', this.get(“ahref”)); ``` 那你就不需要“$(this.el)”了,你已经有“这个.$el”
有没有现成的解决方案可以排除部分组件进入最终HTML?或者有没有其他机制让组件只存在于视野中?
ryandeba
你好@AH1N1, 你说的“最终 html”是指从 'editor.getHtml()' 返回的值吗?你说的是自定义组件吗?如果这两个问题的答案都是肯定的,那么你应该可以覆盖自定义组件的“toHTML”方法,使其不返回任何内容。实现这一点的代码大致如下: 如果你有其他想法,告诉我一些细节,我可以尽力进一步协助。 顺便问一下——@artf你怎么看让'editor.getHtml()'和'component.toHTML()'之间“HTML/Html”大写一致?我没有偏好用哪种...
ryandeba
@AH1N1 这里有一个可用的代码示例:https://jsfiddle.net/tt32z2uz/2/。打开浏览器控制台,你应该会看到这段被登出的状态:“<div>这里有一些正常内容</div><div>......更正常的内容</div>“。 这能给你调试代码所需的信息吗?如果没有,你能提供一个你的实现实时代码示例吗? 我能想到的一些可能原因,说明为什么这方法对你不起作用:“isComponent”方法无法正确识别你的自定义组件编辑器实例在你的自定义组件类型注册之前已经...
artf
你好@afotey如果我想只返回通过组件设置面板输入的 div ID,怎么办? 组件设置中分配的ID直接放在“属性”里,所以你可以用它 “''js const comp = editor.getSelected(); const id = comp.getAttributes()['id']; ```有没有办法让导出时只包含这些ID,而不是任何配套的HTML/CSS? 当你的组件有某种风格时,你会获得其他ID。如果你用类,应该看不到这些
 抱歉,也许我忘了看细节,但默认功能只有一个(直接屏蔽)?
hoainam12k
你可以在这里使用基本模块:https://github.com/artf/grapesjs-blocks-basic(以及README文件中的其他)
hatchwald
我试着找那个功能的代码,但到现在还没找到
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
我的CMS是这样的:网站可以有一个主题,并在该主题下放置多个模板。主题渲染在每一页,模板仅渲染在特定页面。我已经成功地将 GrapesJS 与我现有的模板编辑器集成了,但我有个问题:有没有办法在 Grapes 中围绕模板渲染主题?也就是说,有没有办法在可编辑的 HTML 周围插入不可编辑的 HTML?如果我在画布的“正文”和“#wrapper”之间放置 HTML,我似乎得到我想要的结果。 有没有现有的 API 可以实现这个功能?如果没有,这个功能是否理想,还是我应该用 JavaScript 把我的主题 HTML 注入编辑器里? 附言:这里是第一次发帖。这款软件做得很棒@artf。我很期待看到Grapes如何帮助我,以及我如何为这个...
z1lk
我调整了代码,做了一个适合我需求的小补丁。配置选项“surround”允许你指定一个ID,代表容器中的一个元素。这个DOM子树在主初始化时被提取,存储在编辑器配置中,并被画布拾取。Canvas 随后负责包裹周围的环绕渲染。我想知道是否有人有类似的需求,这是否是个好解决方案。 如果用例不清楚:假设我用的是Bootstrap,有一个带有容器、导航栏、页脚等的主题。然后我有一个页面模板,用 Grapes 编辑。我想在主题的HTML中看到模板,但我应该只能编辑模板,同样,'Edit...
artf
太好了@z1lk我觉得连这样也能奏效 “''js const canvas = 编辑器。画布; const surround = document.createElement('div'); surround.innerHTML = '<div>Some text</div>'; canvas.getBody().appendChild(环绕); surround.appendChild(canvas.getWrapperEl()); ``` 我结束这篇文章,因为你已经破案了
z1lk
我用的方案和你类似,这样就不用对Grapes源头做更改。有时组件“工具”的位置不对,好像它们的垂直偏移是相对于身体计算的,而不是包裹器。不过我无法可靠地复现它。谢谢你的帮助@artf 编辑:我认为工具错位是因为“包围”从画布外移到了内侧。我现在已经没有这个问题了,但我可以通过选择一个组件来调出工具,然后打开浏览器的检查器(Firefox)来制造类似的问题。与#495类似
你好@all, 我用自定义代码阻止数据流向服务器。一切正常,但 editor.store();第一次点击一次,第二次点击两次,第三次点击三次......诸如此类。 在storageManager ->类型中我用的是“remote”——如果用“本地”,拳头点击就没有效果。 有人能帮忙吗?
artf
每次你调用“save-db”时 “''js cmdm.add('save-db',{ run: function(editor, sender){ ... 从你的指挥部拿出来
shareefhiasat
这样做,这样我们就不会每次都绑定听众
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
isComponent函数应该返回什么,才能让这个元素在编辑器中无法被选中?
artf
你可以利用[selectable](https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Component.js#L66) 属性,因此应返回“return { type: 'your-type', selectable: false }'
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。