问题 #1030💬 已回答提出于 2018年4月12日作者 francesca-cicileo0 个反应

使用自定义组件的发射事件

快速解答作者 arthuralmeidap

为了测试,试着听模型上的所有变化。 试试用'this.listenTo(model, 'change')',看看效果如何。

阅读下方完整回答 ↓

问题

我正在尝试用一些自定义组件为 Grapesjs 构建一个插件,但在触发事件和与代码中的组件交互时遇到了困难。我遇到的一个问题是,我在模型中添加了一个自定义文本组件的属性。在该文本组件的脚本中,如果用户在组件中输入了某个字符,我会更改属性。在组件视图中,我有一个监听器用于属性:“this.listenTo(model, 'change:customAttribute', this.doSomething);'。我的问题是“doSomething”从未被调用,尽管我能通过控制台中的打印语句看到属性在变化。有什么建议吗?我也很想知道,有没有办法在初始化编辑器后(类似Grapesjs通讯和网页插件的设置)检测到index.html文件脚本自定义属性的变化?谢谢。

回答(3)

arthuralmeidap2018年4月12日

为了测试,试着听模型上的所有变化。

试试用'this.listenTo(model, 'change')',看看效果如何。

artf2018年4月14日

@francesca-cicileo 'change:*' 用于模型属性(例如 'tagName', 'removable' 等),你可能在找 'change:attributes:ATTR-NAME'。一定要正确更新模型属性(例如 'model.addAttributes({ attrName: 'value' })')

lock[bot]2019年9月17日

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。