视图中的事件处理程序未绑定到组件
问题
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 版本 115.0.5790.114 可复制演示链接 https://jsfiddle.net/mcraf3se/5/ 描述一下那个虫子 你好,我刚从 GrapesJS 开始,所以很可能我误解了某些根本性的问题。 我在为自定义组件视图设置事件处理程序时遇到了困难。 如何复现这个漏洞? 在链接的JS小提琴中。将我的分区拖拽到画布上点击其中(应该有带有“stuff”的div)。 预期的行为是什么? 根据文档[这里](https://grapesjs.com/docs/modules/Components.html#define-custom-component-type),事件处理程序应该绑定到组件上,我应该可以使用类似 this.model. ... 目前的行为是什么? 本地运行时,处理器绑定在窗口上。在JSFilddle中似乎没有定义。在这两种情况下,调用this.model.components失败 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 行为准则 [X] 我同意遵守本项目的行为准则
回答(2)
这里的错误是用了箭头函数,只需用 'clickOnElement() {' 来替代它
你遇到的问题是,this在自定义组件的视图事件处理程序中window或undefined,是常见的JavaScriptthis绑定问题,尤其是在使用箭头函数时。这不是GrapesJS的bug,而是对对象方法中箭头函数this工作的误解。 根本原因 在JavaScript中,箭头函数(() => { ... })词法绑定this。这意味着它们没有自己的this上下文;相反,它们继承了定义时的包围作用域的this。在像你view定义这样的对象文字上下文中,词汇this通常是全局对象(浏览器中的window)或undefined,如果你处于严格模式或模块中。 GrapesJS在绑定view对象中定...
相关问答
通过相似的问题讨论继续研究。
问题 #5316
编辑者未订阅选择器:移除
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome v115.0.5790.170可复制演示链接 https://jsfiddle.net/BenKhz/yfwqc6mu/1/ 引用[此处文档](https://grapesjs...
问题 #5705
编辑器大小调整时组件工具会出现错位
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://jsfiddle.net/Lk2bwhp4/ 描述一下那个虫子 如何复现这个漏洞?将编辑器放入容器中,然后通过程序调整容器的宽度。...
问题 #3703
自定义ID在CSS中注入\3,\3后面有空格,\3后面有空格
警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可...
问题 #6269
组件模型和视图每次被拖拽到Canvas中所有可以放置的组件时都会加载
GrapesJS版本 [X] 我确认使用最新版本GrapesJS 你用的是什么浏览器? Chrome 版本 130.0.6723.59(官方版本)(arm64) 可复制演示链接 https://codepen.io/btmkt/pen/QWeOJRB?editors=1111...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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.
教程
GJS.Market Is Now Available for India 🇮🇳
GJS.Market is expanding its global presence with a dedicated experience for developers, agencies, SaaS companies, and digital creators in India
教程
如何在2026年用 GrapesJS 构建AI驱动的页面构建器
我们构建GJSDocs的经验——从简单的AI文本生成到结构化、上下文感知的视觉编辑
浏览插件分类
直接跳转到市场上的插件分类页面。