如何在家谱中追踪组件的更新情况?
我会在父节点上创建一个专门的监听器 “''js 父分量 ... init() { this.on('cell-changed', this.doStuff) }
阅读下方完整回答 ↓问题
嗨,@artf。我有一些关于组件生命周期钩子的问题。
-
在我的应用程序中,我想跟踪组件所有子节点及其子节点的更新情况,依此类推。我该怎么做?
-
直接子节点的更新通过“model.updated()”钩子追踪,但我需要跟踪一个组件(我们称之为_super child_)的更新,该组件是另一个组件的嵌套子节点(我们称之为_super parent_)。在超级父节点和超级子节点之间,可以有任意数量的组成部分。我该如何跟踪这些更新? 比如,如果我在_super child_中添加了一个组件,我想在_super parent_里做一些事情。
而且,我无法在全球范围内追踪这些变化。我想在组件层面做。
<hr/> 为了给我的问题提供更多背景,我现在想做的是:<br/> 我有一个自定义组件,用户可以根据特征中指定的列数设置网格结构。网格有多个类似的自定义单元组件。<br/> 每个网格单元都可以编辑,如果用户更改了一个网格单元(添加或删除组件),其他网格单元也会获得更新。<br/> 为了跟踪这些变化,我使用了自定义网格组件上的属性。属性就像网格中单元格的蓝图(它代表单元结构,是最近更新的单元组件)回答(2)
我会在父节点上创建一个专门的监听器 “''js 父分量 ... init() { this.on('cell-changed', this.doStuff) }
然后我会从子节点触发该事件
“''js
更新() {
const parent = this.closestType('grid-type');
parent & & parent.trigger('cell-changed', { keys: 'values' })
}
谢谢你举报,@theSC0RP。 关于如何追踪组件更新在树上?的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:mount', (c) => console.log('componen...
相关问答
通过相似的问题讨论继续研究。
问题 #3496
成就:标记组件为脏
你想给GrapesJS添加什么? 组件应该能够标记自己为脏,触发“onbeforeunload”警告信息。 详细描述你的功能需求详细 我有一个(自定义)文本组件,用户可以输入任意文本。我把数据存储在服务器上,我想要自动保存。不过,我不希望服务器因为每一个字符都被联系到文本组件,...
问题 #3171
添加/更新 href 特征不会在图像中添加“<a></a>'' 封装器。
预期行为——当我更新'href'特性值时,图片应该被包裹在'a'中,'href'值设置为。即 '<A href=“google.com”><img src=“/></a>' 当前行为 = 无变化反映 这里有添加特质的代码 上述功能需双击触发, 请帮我,如何在不使用特征管理器的情...
问题 #4735
ResetId类型不匹配
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 无 可复制演示链接 无 描述一下那个虫子 如何复现这个漏洞?.去 https://github.com/artf/grapesjs/blob/dev/src/dom_components/mode...
问题 #6373
在父 Parent 中,使用绝对拖动调整 Child 的大小时,启用了 Position 的 Position 元素,但 Pat Null 是错误的
葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 131.0.6778.265 可复制演示链接 https://codepen.io/chipikaf/pen/KwPexjL 描述一下那个虫子 如何复现这个漏洞? 将按钮组件放在中间部分 将...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
教程
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
教程
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
浏览插件分类
直接跳转到市场上的插件分类页面。