主要是editor.DomComponents.addType自定义一个组件,然后在组件init的时候,调用fetch从后端url获取数据,然后再调用 model.set('content', data.content);与model.components(data.content)更新组件内容,示例代码如下:
const editor = grapesjs.init({ container: '#gjs', fromElement: true, height: '100%', width: 'auto', plugins: ['gjs-preset-webpage'], storageManager: false, blockManager: { blocks: [ { id: 'form-new', label: '<b>Form New</b>', attributes: { class: 'gjs-block-form-new' }, content: { type: 'form-new', content: 'Loading...' // 一个初始的内容,ajax 加载完成将被更新 }, }, ], } }); editor.DomComponents.addType('form-new', { isComponent: el => el.tagName === 'FORM' && el.getAttribute('data-form-type') === 'new', model: { defaults: { tagName: 'form', traits: [], // 移除原始 traits name: 'Form New' }, init() { this.fetchDataFromBackend(); }, fetchDataFromBackend() { // 模型引用 const model = this; // AJAX 请求获取数据 fetch('后端url地址') // 请替换为您的后台接口地址 .then(response => { if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return response.json(); }) .then(data => { if (data.content) { // 更新组件内容 model.set('content', data.content); model.components(data.content); } }) .catch(error => { console.error('Error fetching data:', error); }); }, } });
网友回复
python如何利用ai自动在千牛监听和回复用户消息促成用户下单购买?
ai如何自动监听和回复咸鱼的消息?
如何解决three的三维场景CSS3DObject中iframe穿透一切问题呢?
有没有哪个ai人工智能动态生成鲜活带表情肢体动作逼真数字人与人类交流视频聊天?
threejs如何将iframe与video作为立方体模型一面的材质可点击交互?
UEFI与Legacy启动有啥不同?
可在u盘启动的开源匿名操作系统有哪些?
Pyloid与Pywebview打包生成桌面应用区别?
win10的iso镜像如何通过u盘来安装?
如何解决输入sora2邀请码报错:Sora is not available in The Netherlands yet