How to track the updates of components down the tree?
我会在父节点上创建一个专门的监听器 “''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...
相关问答
通过相似的问题讨论继续研究。
问题 #3586
How to listen the components change in a component.
init() { this.listenTo(this.model,'change:components', this.handleComponentsChange); }, 我开发一个组件,尝试监听子组件的变化,然后添加上面的代码以查看初始化,但添加/移除组件时函数没有触发。...
问题 #3496
Mark Component as Dirty
你想给GrapesJS添加什么? 组件应该能够标记自己为脏,触发“onbeforeunload”警告信息。 详细描述你的功能需求详细 我有一个(自定义)文本组件,用户可以输入任意文本。我把数据存储在服务器上,我想要自动保存。不过,我不希望服务器因为每一个字符都被联系到文本组件,...
问题 #3347
How can I get Uncompressed JS code for me to edit?
你好,感谢你帮我解答这个问题。我想用自己的JSEditor来编辑html、css和js。 1、首先,我用 'getHtml', 'getCss', 'getJs' 在我的 JSEditor 里显示代码。我发现JS代码是压缩的。我怎样才能获得无压缩代码? 我用的是'编辑器'。Co...
问题 #3225
How to Update Style from checkbox Trait?
你好@artf 我尝试用复选框特性更新样式,但它没有调用函数。 这是代码 非常感谢你能提供的任何见解! 谢谢
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish — plugins, articles, community questions, guides, authors and services. Press ⌘K from any page.
教程
如何在2026年用 GrapesJS 构建AI驱动的页面构建器
我们构建GJSDocs的经验——从简单的AI文本生成到结构化、上下文感知的视觉编辑
教程
2026年构建一个SaaS页面构建器需要多少钱?
2026年构建一个SaaS页面构建器的成本是多少?探索实际的开发成本、时间表、功能,以及使用 GrapesJS 如何降低成本
浏览插件分类
直接跳转到市场上的插件分类页面。