问题 #2154✓ 已解决提出于 2019年7月20日作者 adelliinaa8 个反应

自定义组件集成

快速解答作者 artf7

好的,但你打算怎么处理编辑器的输出(Angular组件)?我是说,你最后会怎么用它? 无论如何,我看到两种不同的处理方式:为每个组件创建自定义渲染(就是我用MJML做的那个概念)。这是最准确的方法,因为我应该能在画布上看到框架的具体组件(例如,如果渲染器使用相同的“编译器”,比如你的情况是Angular框架)。这可能不是最简单的方法,因为你必须对两个框架都有很好的了解(比如你这里是Angular和GrapesJS),但从长远来看,渲染器实现后可以毫无麻烦地集成新组件你可以创建一个占位组件,结果总是你的Angular组件的HTML,但视图完全由你自己构建。示例: “''js 编辑。DomComponents.addType('Inp...

阅读下方完整回答 ↓

问题

你好! 我想用 Angular CLI 7 将一个自定义组件集成到 GrapesJS,但它无法渲染。 我的组件是建立在另一个开源组件之上的。当我想在任何 Angular 项目中包含它时,我会直接导入 typescript 文件中的依赖/库,并在 HTML 中导入组件本身(例如 <h2> <custom-comp> </custom-comp> </h2>)。 为了在 GrapesJS 中使用它,我最初创建了一个块管理器,并附加了我的自定义组件: VAR Editor = Grapesjs.init({...}); var blockManager = 编辑器。BlockManager; blockManager.add('custom-comp', { 标签:“自定义块”, 内容:'<div> <custom-comp> </custom-comp> </div>', }); 但这种方法似乎只适用于 GrapesJS 组件,所以我尝试按照这个实现方式来实现 https://github.com/artf/grapesjs-mjml。 如果我只用: var 类型 = '自定义-合成'; blockManager.addType(type, { isComponent(el) { if(el.tagName == type.toUpperCase()) {return {type,...

回答(3)

👍 最有帮助artf2019年8月9日

好的,但你打算怎么处理编辑器的输出(Angular组件)?我是说,你最后会怎么用它? 无论如何,我看到两种不同的处理方式:为每个组件创建自定义渲染(就是我用MJML做的那个概念)。这是最准确的方法,因为我应该能在画布上看到框架的具体组件(例如,如果渲染器使用相同的“编译器”,比如你的情况是Angular框架)。这可能不是最简单的方法,因为你必须对两个框架都有很好的了解(比如你这里是Angular和GrapesJS),但从长远来看,渲染器实现后可以毫无麻烦地集成新组件你可以创建一个占位组件,结果总是你的Angular组件的HTML,但视图完全由你自己构建。示例: “''js 编辑。DomCom...

artf2019年7月31日

@adelliinaa我们先从一个简单的问题开始,因为我不太明白,你想做什么样的编辑器?一个用于Angular组件的构建器?!?

adelliinaa2019年7月31日

我想创建一个类似于你用MJML组件创建的表单构建器,但用Angular CLI代替JS。是的,我想集成在GrapesJS中的自定义组件也是用Angular构建的。

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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