页面参数(画面模板)
1.概述
页面中元素相同,唯独绑定的数据不同,此时可通过参数控制,动态生成对应内容显示,可满足以下功能:
- 画面模板:页面参数可用于动态生成内容,例如:一个电机模板页面可通过参数传递电机号,以显示对应电机实例的信息;
- 数据传递:将数据传递至页面,根据参数值显示不同的内容,例如:一个产品详情页面可以通过参数传递产品ID,以显示相应的产品信息;
2.应用说明(以画面模板为例)
本处以“画面模板”功能为例,为您介绍页面参数的使用
2.1构建参数化页面(创建画面模板)
第一步:定义页面参数
将页面动态部分定义为页面参数,如“电机号”
操作:选中页面,在右侧属性栏-页面参数处,点击[添加]按钮,输入页面参数名称;
第二步:绑定页面参数
页面元素动态化,由"固定格式"拼接"页面参数"实现动态效果,如[电机状态灯]动态绑定变量为"Motor"+$getParams()["MotorNumber"]+"_State"
注:后续复用时可控制“电机号”参数的值,如设定电机号=1,此时动态关联了Motor1_State变量
操作:
a)文本类组件:文本内容动态显示,如电机标题(静态文本),您可通过表达式动态生成文本内容,如"电机"+$getParams()["电机号"]
b)读写组件:变量动态关联,如电机状态灯,您可通过表达式动态绑定变量,
通过$vars[变量名]声明变量,表示绑定该变量的值,其中变量名通过'静态字符'+$参数拼接
$vars[
'Motor'+$getParams()["电机号"]+'_state'
]注:
i. 字符串需使用英文单引号或双引号,如"str" 'str'
ii.实际使用过程中表达式非硬性分行,本处分行只是便于观察结构,$vars[ 'Motor'+$getParams()["电机号"]+'_state' ]同样适用
2.2 传参页面动态化(应用画面模板)
第三步:设置页面参数值
当需复用画面时,关联所构建的参数化页面(画面模板),设置对应的参数值,实现页面复用动态效果。如按钮1/2/3点击分别弹窗查看电机1/2/3的监控页面,每个按钮都关联电机监控模板页面,分别设置,弹出的页面“MotorNumber”(电机号)=1/2/3。
案例1:复用整个画面
项目中存在大量相同部件,其监控画面相同,唯一更改的是绑定的数据,期望复用画面,对应点击部件显示对应部件的信息
按钮点击式:点击按钮弹出查看对应设备监控页面
下拉选择式:下拉选择查看对应设备监控页面
案例2:画面中部分组件复用
项目内存在相同设备,其组态布局一致变量关联不同,期望引用模板,根据实际需要更改即完成配置
平铺式:画面中存在多个相同部件平铺展示,每个组件引用模板(容器关联模板页面),进行模板实例(设置页面参数值)。