组件“首次渲染”事件
你可以用“onRender” “''js view: defaultView.extend({ // ... onRender() { const chartModelSaved = this.el.getAttribute('chartmodel'); 如果(chartModelSaved) { this.model.set('chartModel', JSON.parse(chartModelSaved)); this.model.set('chartType', this.model.get('chartModel').type) } 否则 { this.model.set('chartModel', JSON.parse(...
阅读下方完整回答 ↓问题
嗨。我正在开发一个用chart.js图的插件。我需要在生成的组件中持久化图表模型,以便在背画布加载时渲染图表。为了实现这一点,我决定在组件的HTML署名中持久化图表模型。这是我配置图表后生成的组件 HTML(图表模型存储在属性“chartmodel”中):  我的策略是,当组件首次渲染时,如果在组件的“chartmodel”属性内存在图表模型,那么图表会解析该属性的JSON字符串。如果没有“chartmodel”属性(当用户创建组件时),图表会使用组件核心的默认模型来渲染: “JavaScript view: defaultView.extend({ init() { const chartModelSaved = this.el.getAttribute('chartmodel'); if(chartModelSaved){ this.model.set('chartModel', JSON.parse(chartModelSaved)); this.model.set('chartType', this.model.get...
回答(3)
你可以用“onRender” “''js view: defaultView.extend({ // ... onRender() { const chartModelSaved = this.el.getAttribute('chartmodel'); 如果(chartModelSaved) { this.model.set('chartModel', JSON.parse(chartModelSaved)); this.model.set('chartType', this.model.get('chartModel').type) } 否则 { this.model.set('char...
谢谢,这个方法有效!不过,我必须把图表模型存储在组件的 html 里,这样生成的模板才能在 grapesjs 编辑器之外渲染图表。我无法像我想要的那样,在组件的自定义 HTML 属性中持久化任何内容: '''html <canvas chartmodel=“{chartType: doughnut}”>
我有什么解决方案来满足这种需求?
@gabrigcl我不明白现在哪一个才是问题......
我无法像我想要的方式在组件的自定义 HTML 属性中持久化任何东西
但这正是你之前帖子里展示的,试着详细说明你需要什么,哪些做不到,现场演示会更好。
相关问答
通过相似的问题讨论继续研究。
问题 #482
自定义组件中的默认资产管理器
我正在为下面的模板创建自定义组件,我们希望用户输入文本、链接、悬停文本并选择图片,想用默认资产管理器选择图片,但不确定如何在自定义组件中获得选中的图片?以下是我使用的代码 view: defaultType.view.extend({ init() { this.listenT...
问题 #1067
允许脚本时 Grapesjs 变为空
你好@artf 我初始化了 grapesjs 但没有允许脚本。我从附件(template.zip)导入了HTML字符串, Grapesjs 能正确显示 但当我在init代码中 allowScripts: 1 允许脚本并导入上述HTML字符串时, Grapesjs 没有显示任何脚...
问题 #602
自定义HTML/JavaScript
技术上来说这不是问题,但我正在寻找一种方法来复制Click Funnels中的“代码编辑器”功能,那里有一个模块可以打开编辑器。 不想太有创意,因为我觉得在 grapesjs 里(大概)有办法做到。 如果不行,我可以开始写,但觉得还是先检查一下最佳实现。 提前感谢大家 ![图片...
问题 #828
组件的“添加”事件触发次数不同
你好, 我注意到如果我在自定义组件中添加以下代码,事件触发方式会根据是从块拖放还是从画布拖放的新子组件而不同。 “JavaScript ... view: defaultView.extend({ init() { this.listenTo(this.model.compon...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。