阅读组件相关事件
@artf谢谢你的回答。不过我想找一个更通用的例子,说明是否发生了变化以及具体发生了什么——比如这样: “JavaScript editor.on('component:update', model => { 如果 (model.isChanged()) { //.... } if (model.isChanged('style:font-size')) { //.... } var changes = model.getChanges(); }); ``` 我们需要跟踪项目中组件的变化,所以需要更通用的东西。 你能不能解释一下,为什么我对组件做哪怕是很小的更改时,会触发这么多“组件更新”事件(几乎总是针对看起来像是各种组件触发超...
阅读下方完整回答 ↓问题
[Editor API wiki](https://github.com/artf/grapesjs/wiki/API-Editor) 列出了一组可以监听的组件相关事件(例如 'component:add', 'component:update')。然而,没有提及监听者接收到的事件对象类型以及它们的结构(它们拥有哪些属性以及能包含哪些值)。
当组件更新(例如字体大小更改)时,我们需要能够捕捉事件、处理并做出反应。你能举个例子说明如何判断组件发生了哪些变化吗?每次触发“component:update”事件时都会有变化吗(这个事件经常被触发,为什么会这样)?每个事件是否都会收到组件模型,如“component:add”文档附近提到的?如果不是:事件对象的结构是什么?
提前感谢任何帮助 :+1:
回答(3)
@artf谢谢你的回答。不过我想找一个更通用的例子,说明是否发生了变化以及具体发生了什么——比如这样: “JavaScript editor.on('component:update', model => { 如果 (model.isChanged()) { //.... } if (model.isChanged('style:font-size')) { //.... } var changes = model.getChanges(); }); ``` 我们需要跟踪项目中组件的变化,所以需要更通用的东西。 你能不能解释一下,为什么我对组件做哪怕是很小的更改时,会触发这么多“组件更新”事...
感谢@ppisecky指出,我更新了源代码,但基本上任何组件相关事件都会接收触发的模型。 关于你的“字体大小”情况,你可以设置这个监听器 “''js editor.on('component:styleUpdate:font-size', model => console.log('Font size: ', model.getStyle()['font-size']) );
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
相关问答
通过相似的问题讨论继续研究。
问题 #792
脚本属性使用函数时无法与方块相处
在[Components & JS](https://github.com/artf/grapesjs/wiki/Components-&-JS)文档中有这个例子: 这个方法非常有效。但我不能用函数代替“script”中的字符串,正如所说,它支持的,比如这个例子: 什么都不会发...
问题 #951
自定义组件的选择无法通过Canvas进行。
嘿, 我试着自己弄明白,但感觉自己有点绕圈子。所以我希望你能有时间读完这篇文章,帮我解决问题。 我会得到一个带有多个自定义组件标签的HTML模板=>“<custom-component-tag></custom-component-tag><custom-component-t...
问题 #2000
:当组件的ID被更改时触发了什么事件?
我想在设置面板中组件的ID被更改时触发一些行为。我尝试过用 'editor.on()' 处理以下事件:“Component:update:id”'component:update:Id''Component:update:{id}''component:update:{Id}'...
问题 #1510
如何在 Grapesjs 的 blockmanager 添加两列
你好,我是Grapej的新手,正在用Grapej搭配Angular6 我在[](https://grapesjs.com/demo.html)上见过葡萄的演示。 我想在 BlockManager 创建两列,如下面用红色标记的快照所示 ![22](https://user-ima...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。