问题 #1080💬 已回答提出于 2018年5月2日作者 francesca-cicileo0 个反应

从脚本中更改组件属性

快速解答作者 artf

你可以访问像这样嵌套属性,比如'var customAttribute = '{[ attributes.customAttribute ]}';' 在“script”内。你应该使用模型的属性: “''js ... customAttribute: '', 脚本:function() { ... ``` 然后在你的脚本里 'var customAttribute = '{[ customProp ]}';' 还有一点,你不能在“脚本”里更新变量后就指望它传播这个变化,脚本在完全独立的上下文中工作 #358

阅读下方完整回答 ↓

问题

我正在扩展“文本”组件,添加一个新属性和一个脚本。当用户在文本组件中输入某个字符时,我希望脚本能更改组件模型中的属性,但我不确定该怎么做。这是我修改文本组件的设置: 我有两个问题:customAttribute 没有正确加载到脚本中,我不知道如何让脚本中 customAttribute 的值来更改模型中自定义属性的值。我有一个监听器 ''editor.on('component:update:attributes', model => {});' 它没有被调用,即使我在控制台看到'hide'和'show'(显示脚本中 customAttribute 确实被更改了)。只有当我第一次把组件放到画布上时,监听器才会被调用(所以它是正常工作的)。有什么建议吗?

回答(2)

artf2018年5月4日

你可以访问像这样嵌套属性,比如'var customAttribute = '{[ attributes.customAttribute ]}';' 在“script”内。你应该使用模型的属性: “''js ... customAttribute: '', 脚本:function() { ...

然后在你的脚本里 'var customAttribute = '{[ customProp ]}';'
还有一点,你不能在“脚本”里更新变量后就指望它传播这个变化,脚本在完全独立的上下文中工作 #358
lock[bot]2019年9月17日

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

相关问答

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

问题 #400

隐藏命令中的一个元素

你好, 我想在点击工具栏按钮时隐藏某个特定元素 命令:{ 默认值:[{ id:“submenuitem”, run: function(editor, senderBtn){ 我想隐藏“photostack-1”元素 ???? ???? ???? }, }], } VAR DO...

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

问题 #1947

更新data-gjs在标签和表单类型的属性时,会出现奇怪的行为

我正在对label data-gjs-type应用以下设置,这样做后,有些label标签就不再可见了。在将属性应用到 form 时也会发生类似的情况

2 个回答更新于 2020年4月15日

问题 #459

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

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

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

问题 #460

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

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

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

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