组件“首次渲染”事件
你可以用“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
当允许脚本时,葡萄将变为空
你好@artf 我初始化了 Grapesjs,但没有允许脚本。我从附件(template.zip)导入了html字符串,Grapesjs可以正确显示 但当我在init代码中用'allowScripts: 1'允许脚本,并导入上述HTML字符串时,Grapesjs没有显示任何,我...
问题 #529
Editor.setComponents(html) 在编辑器中重置为默认的特征值
#522 感谢大家的帮助,我通过 this.model.attributes 解决了问题。但现在我又遇到了另一个问题,editor.setComponents 在 html 编辑器中重置了 value,且 html 还原为默认特征值。 应用流程 1)用户被重定向到 grapes...
问题 #602
自定义HTML/JavaScript
技术上来说这不是问题,但我正在寻找一种方法来复制Click Funnels中的“代码编辑器”功能,那里有一个模块可以打开编辑器。 不想太有创意,因为我觉得葡萄里应该有办法做到这一点(大概有)。 如果不行,我可以开始写,但觉得还是先检查一下最佳实现。 提前感谢大家 ![图片](h...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。