Component.get('traits').clone() 已不再可用。
如果你需要复制 traits,我建议简单地做这个操作:'JSON.parse(JSON.stringify(editor.getSelected().getTraits())'。 我不记得文档里提到过克隆特征,所以我建议避免使用非公开API。
阅读下方完整回答 ↓问题
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Arc 版本 1.35.0 / Chromium 引擎 123.0 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?开放开发工具选择一个组件主机运行: 预期的行为是什么? 应该会回归克隆版本。 目前的行为是什么? 出现错误: 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: --- 注: .clone() 是我发现唯一不再有效的方法。 方法链接 - https://arc.net/l/quote/ztapwusb 行为准则 [X] 我同意遵守本项目的行为准则
回答(2)
如果你需要复制 traits,我建议简单地做这个操作:'JSON.parse(JSON.stringify(editor.getSelected().getTraits())'。 我不记得文档里提到过克隆特征,所以我建议避免使用非公开API。
你发现了GrapesJS中一个合理的漏洞,调用component.get('traits').clone()会抛出一个TypeError。这个问题源于Traits集合的clone()方法,内部依赖Backbone.Collection.prototype.clone(),尝试用new this.constructor(this.models)实例化一个新的Traits集合。Traits集合的构造函数或调用的内部方法有特定的依赖关系,或者期望某个上下文,但以这种方式调用时未被满足,导致Uncaught TypeError: Cannot read properties of undefined...
相关问答
通过相似的问题讨论继续研究。
问题 #6250
克隆页面提示“将循环结构转换为 JSON”
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome 129.0.6668.101可复制演示链接 https://grapesjs.com/演示描述一下那个虫子 如何复现这个漏洞? 开放 https://grapesjs.com/...
问题 #4803
Traits value type select doesn't fill value
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 108 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? 使用工具提示组件,通过 editor.getSe...
问题 #4187
Editor Destroy method throws an error in React
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬98 可复制演示链接 https://codesandbox.io/s/withered-rain-z74rst?file=/src/App.js 描述一下那个虫子 如何复现这个漏洞?...
问题 #4000
Pasting a component in root body layer throws TypeError
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v89 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?在官方演示中,进入图层管理器,用 cmd+c复制任...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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年构建一个SaaS页面构建器需要多少钱?
2026年构建一个SaaS页面构建器的成本是多少?探索实际的开发成本、时间表、功能,以及使用 GrapesJS 如何降低成本
教程
PageKit:你无论如何都得自己开发 GrapesJS 应用
一个围绕开源GrapesJS核心的源代码可用Next.js应用——发布、自定义域名、潜在客户、结账和插件加载器。
浏览插件分类
直接跳转到市场上的插件分类页面。