当前位置: 首页 > news >正文

【低代码】前端低代码开发日记2_遇到的问题(2)变量绑定

解决完双向绑定的问题,关于变量绑定的问题还有很多没有解决,变量的绑定是困惑我很久的问题,致使我一度想要放弃。

遇到的问题

变量绑定

当我们想要把一个静态页面页面动起来,在Vue中,我们只需要把变量和属性绑定好后,修改变量值就可以看到页面的变化,但是就是变量的绑定的功能给我造成了巨大的困扰。

{"id": "component_nQ-SP","label": "组件","uiType": "component","uiName": "组件","domType": "div","children": [{"uiType": "component","uiName": "h1元素","domType": "h1","children": [{"uiName": "文本","uiType": "text","attrs": [{"label": "内容","key": "textContent","value": "$refs:{\"nodeId\":\"var_z2pah\"}","id": "textContent_Fe8S7"}],"id": "text_J8Sb5","label": "文本_ON6jA"}],"id": "component_hCTZm","label": "h1元素_Oan0q"}],"data": [{"id": "var_z2pah","label": "变量1","key": "var1","value": "测试文本","type": "string","arrayType": "","objectType": ""}],"bind": {"textContent_Fe8S7": "var_z2pah"},
}

我把变量的绑定分了几个难度级:

1.普通难度

  • 组件中整个属性的绑定整个变量的绑定

变量绑定

在这一层次中,所有值都可以直接通过bind字段进行绑定,操作相对简单。

2.困难难度

  • 需要绑定某个对象的某个属性
  • 需要绑定数组变量的某个数组项

对于这些情况,我采用了表达式替换的方式。例如,值以$refs:开头时,就表示引用了变量。此时没有使用bind字段,因为它无法有效描述属性的绑定。最初我考虑过使用JSONPath描述,但由于复杂性太高而放弃。

如果绑定的是表达式(而不是直接的变量),如var_1 + 1,实现难度则会更高。由于涉及到双向绑定时值变化的情形,我没有去实现这一功能。

字段绑定

经过多番思考,我决定使用CodeMirror来维护变量引用。在输入过程中,可以为用户提供提示和高亮功能。尽管这与我最初“所有配置都能通过点击完成”的想法相悖,但为了实现灵活性,我还是选择了这一方式。

体验最新的轻构低代码

账号:test
密码:123456

欢迎试用并给建议,目前BUG比较多


http://www.mrgr.cn/news/48080.html

相关文章:

  • 波动理论、传输线和S参数网络
  • Java技术专家视角解读:SQL优化与批处理在大数据处理中的应用及原理
  • 【linux】 unshare -user -r /bin/bash命令详解
  • 大数据技术-Hadoop(二)HDFS的介绍与使用
  • 蓝桥杯物联网开发板硬件组成
  • GitFlow工作流
  • [单master节点k8s部署]34.ingress 反向代理(一)
  • 提升 Python 包下载速度的利器:cnpip
  • Datawhale 组队学习 文生图 Prompt攻防 task01
  • 解释Flask框架中的session和request对象
  • 模型预测控制工具包——ACADO:通过Cmake构建自己的优化问题
  • lnmp - RBAC方案设计与实现
  • 使用阿里云盘将服务器上的文件上传/下载到云盘/服务器
  • MySQL数据库详细学习要点
  • 纯干货!详解Java并发之线程中断机制
  • Docker理念
  • Android Studio 安装和认识
  • SpringBoot集成Redis
  • 牛上脑和各类牛排的叫法,不要土老帽了~
  • v-html里面的标签设置样式没有用怎么办?
  • 【Linux调试工具】gdb/cgdb
  • 文件之间的输入输出
  • 在python中如何判断回文串(一)?
  • Linux内核 --内存管理之 Slab 分配器介绍
  • 太速科技-628-基于VU3P的双路100G光纤加速计算卡
  • Docker 入门篇