问题 #2549✓ 已解决提出于 2020年2月4日作者 rjrodriguezalvarez977 个反应

更新属性变更的组件视图

快速解答作者 artf4

要更新 HTML,你需要在模型中更改 'toHTML' “''js 型号:{ ... toHTML() { const tagName = this.get('tagName'); const price = this.get('defaultPrice'); return '<${tagName}>${price}</{tagName}>'; } } ```

阅读下方完整回答 ↓

问题

大家好, 我正在尝试创建一个组件,它会根据属性值更新视图 “JavaScript 编辑。DomComponents.addType(“price-value-type”, { isComponent: el => { if (el.tagName == “div” & el.hasAttribute(“price-value”)) { 返回 { 类型:“价格-价值-类型” }; } }, 型号:{ defaults: Object.assign({}, defaultProperties, { 默认价格:0, 名称:“普赖斯”, 类别:[“价格”], Components: model => { return '${model.get(“defaultPrice”)}'} }) }, extendView: 'default', extendFnView: ['render'], 浏览量:{ init() { console.log(this.render); this.listenTo(this.model, 'change:defaultPrice', this.render); }, render() { this.el.innerHTML = this.model.get(“defaultPrice”); // } } }); ``` 我的方法基于#1227和[文档](h...

回答(3)

👍 最有帮助artf2020年2月4日

要更新 HTML,你需要在模型中更改 'toHTML' “''js 型号:{ ... toHTML() { const tagName = this.get('tagName'); const price = this.get('defaultPrice'); return '<${tagName}>${price}</{tagName}>'; } }

artf2020年2月4日

你试过类似的吗? “''js 浏览量:{ init() { this.listenTo(this.model, 'change:defaultPrice', this.render); }, onRender() { this.el.innerHTML = this.model.get(“defaultPrice”); } }

rjrodriguezalvarez972020年2月4日

我后天试试。感谢你的快速回复!

相关问答

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

问题 #459

在另一个模块中包含自定义组件时出现错误

抱歉标题有点模糊。我不太确定如何简洁地描述这件事。我有一个自定义块,想限制只有图片可以丢进块的某个部分。我尝试过类似这样的方法: 然而,当我这样做时,尝试将方块从方块调色板中拖出时,会出现以下错误: ... grapes.min.js:2 未捕获类型错误:s 不是构造函数 at...

3 个回答更新于 2019年9月18日

问题 #484

我能限制可以放入容器的方块吗?

我的目的是创建一个块,只允许放置图像组件(我用的是 grapes-blocks-basic 的默认组件)在里面。 我有以下测试代码: 但是,当我运行上述代码时,发生的情况是我无法在图像容器中放置图像组件。绿色下拉光标只会出现在容器的顶部、底部和侧面,但不会出现在容器内部。实际上...

3 个回答更新于 2019年9月18日

问题 #460

当组件视图修改HTML时,文本组件不再可编辑

我正在尝试构建一个自定义组件,内容中包含一些Lorem ipsum文本,以便在画布上进行编辑。但我也想修改视图中的HTML(添加一些我想在编辑器中显示但不在已保存HTML中的内容)。我尝试过类似这样的方法: 问题是,如果我像上面那样修改render()函数,文本部分中的文本组件...

3 个回答更新于 2019年9月18日

问题 #738

调整大小后图像恢复到原始大小

你好,我遇到了一个关于Component的奇怪问题: 我拿到了两种类型,图片和图标 “''js domComponents.addType('icon', { model: imageModel.extend({ defaults: Object.assign({}, imag...

3 个回答更新于 2019年9月18日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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