全局函数/变量
抱歉@pouyamiralayi,但我相信你没完全理解Component中“脚本”属性的全部含义(显然[你不是唯一](https://github.com/artf/grapesjs/issues/358#issuecomment-333818540),即使我试图解释这个“脚本悖论”[这里](https://grapesjs.com/docs/modules/Components-js.html#basic-scripts)) #1691 里问的问题根本说不通,因为“script”属性里的上下文就像另一个世界,唯一能和那些世界通信的方式是用插值字符串(就像 [documentation](https://grapesjs.com/...
阅读下方完整回答 ↓问题
你好!最近我注意到这个[问题](https://github.com/artf/grapesjs/issues/1691)。 我觉得有这个功能会很有帮助。与@artf建议的用Canvas脚本作为全局注入方式的方法不同,我认为这并不适合该功能的主要目的。我认为拥有全局变量和函数的主要用例是脚本在画布内部的处理方式:对于每个组件类型,每次渲染画布时都会执行一个函数。所以如果你在脚本中为某些事件注册了某种处理程序,你无法管理这些处理程序(比如将它们从事件中分离),因为每次渲染画布时执行上下文都会丢失。所以我们需要在全局范围上定义处理程序。 常见的解决方法是[这里](https://github.com/alvimm/grapesjs-expose/blob/master/src/index.js)所采用的思路。 我很乐意听听你@artf关于这件事的看法。 提前感谢大家。
回答(3)
抱歉@pouyamiralayi,但我相信你没完全理解Component中“脚本”属性的全部含义(显然[你不是唯一](https://github.com/artf/grapesjs/issues/358#issuecomment-333818540),即使我试图解释这个“脚本悖论”[这里](https://grapesjs.com/docs/modules/Components-js.html#basic-scripts)) #1691 里问的问题根本说不通,因为“script”属性里的上下文就像另一个世界,唯一能和那些世界通信的方式是用插值字符串(就像 [documentation](h...
感谢你的善意回答@artf。在挣扎了一段时间后,我终于觉得你说的完全合理。我刚才提这事真是太天真了,抱歉。目前的变通方法完全正确,是Canvas Global Scripts的补充。 对于那些试图实现全局脚本与本地脚本之间通信通道的设备,他们可以定义一个全局事件总线,并在本地连接或分离监听器。状态还通过模型值的插值来保存。 提前感谢大家。
@pouyamiralayi你能详细介绍一下你是如何创建全局事件总线,在全局脚本和本地脚本之间发送消息的吗?编辑器会把 grapesjs 的内容嵌入 iframe,所以你不能用全局窗口对象作为事件总线。
谢谢!
相关问答
通过相似的问题讨论继续研究。
问题 #3130
标准方法:对HTML工具栏和徽章进行轻微重构
版本: '0.15.10' 这个问题旨在验证是否有合适的方法通过自定义插件扩展当前 https://github.com/artf/grapesjs/blob/master/src/canvas/view/CanvasView.js。我们特别回顾了该文件中的“render()”...
问题 #3515
Gjs 选择的风格是硬编码的
定义如下: https://github.com/artf/grapesjs/blob/88249c38577852dc3c42047356a70a12066ee6ca/src/canvas/view/FrameView.js#L303-L306 总是附加在框架上。它包含选定元...
问题 #4765
官方的解析@keyframes方法并不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v107描述一下那个虫子 如何复现这个漏洞?按照[这里](https://grapesjs.com/docs/guides/Custom-CSS-parser.html#rule-obj...
问题 #3668
移动/缩放后无法重置画布
警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。