PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #789💬 已回答提出于 2018年1月23日作者 Geczy1 个反应

GetComponents 不返回 components

快速解答作者 artf❤ 1

@Geczy可能需要更新描述,但“getComponents”只是返回包装器的组件(及其子节点),如果你想返回所有组件的数组,可以这样做: “''js const getAllComponents = (model, result = []) => { result.push(model); model.components().each(mod => getAllComponents(mod, result)) 返回结果; } const all = getAllComponents(editor.DomComponents.getWrapper()); ```

阅读下方完整回答 ↓

问题

感觉它根本没在解析DOM

繁殖。查看控制台日志 https://codesandbox.io/s/lxl7x2mnq

![图片](https://user-images.githubusercontent.com/1036968/35294132-d5108cd8-0043-11e8-9af9-abbd4408f195.png) 你可以看到这个沙盒里组件/模型远不止5个。

但控制台日志只显示5个 ![图片](https://user-images.githubusercontent.com/1036968/35294127-d0c84832-0043-11e8-8322-76a85e6c9247.png)

如果我在主树根部加一个,它会显示6。但如果我把它加到子组件里,它就看不到。

试着在多个地方拖动Link或其他组件,直到你看到问题

回答(3)

artf• 2018年1月24日

@Geczy可能需要更新描述,但“getComponents”只是返回包装器的组件(及其子节点),如果你想返回所有组件的数组,可以这样做: “''js const getAllComponents = (model, result = []) => { result.push(model); model.components().each(mod => getAllComponents(mod, result)) 返回结果; } const all = getAllComponents(editor.DomComponents.getWrapper());

Geczy• 2018年1月24日

效果很好,谢谢

lock[bot]• 2019年9月18日

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

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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