配置单页应用参数¶
在 DTV 单页应用中,导航器会自动产生一批参数,供页面组件联动使用。但在实际开发中,导航器参数的格式或粒度往往不能直接满足需求。例如:
时间导航器产生的是完整时间戳,但图表标题只需要显示”年份”。
需要基于多个导航器参数组合计算出一个新值。
自定义参数 就是为这类场景设计的,你可以用 JavaScript 脚本,将现有的导航器参数加工转换,生成页面真正需要的新参数。
运行时,全局参数 = 导航器参数 + 自定义参数,两类参数在组件联动、计算字段、标题引用等场景中均可使用。
打开参数面板¶
在单页应用编辑界面的右上角,点击 其它 → 参数,打开参数面板。
面板中展示当前页面所有导航器参数和已配置的自定义参数。
新增自定义参数¶
点击面板中的 编辑自定义参数,完成以下配置:
1. 定义参数基本信息¶
在弹窗右侧点击 添加自定义参数,配置以下信息:
字段 |
说明 |
|---|---|
参数名称 |
用于面板展示,支持国际化。 |
ID |
系统自动添加 |
传参示例 |
填写该参数的示例值,便于其他人理解参数格式。 |
描述 |
说明参数用途。 |
2. 编写计算脚本¶
脚本本质是一个 JS 函数体,以导航器参数作为输入,计算出自定义参数的值。当导航器参数发生变化时,系统自动执行此脚本并更新自定义参数值。
系统提供以下内置变量:
变量 |
说明 |
|---|---|
|
JS 对象,包含所有已添加至页面的导航器参数,如 |
|
当前语言,如 |
|
控制台日志输出,用法同 |
脚本末尾需 return 一个 JS 对象,键名为自定义参数的完整 ID(含 _DT_ 前缀)。
备注
脚本 return 对象的键名必须包含 _DT_ 前缀,与参数 ID 保持一致,否则参数无法正确赋值。
示例:时间导航器产生的 startTime/endTime 格式为 YYYY-MM-DD HH:mm:ss,如果只需要年份,可以这样写:
var startYear = null;
var endYear = null;
if (global.startTime) {
startYear = new Date(global.startTime).getFullYear();
}
if (global.endTime) {
endYear = new Date(global.endTime).getFullYear();
}
return {
_DT_startYear: startYear,
_DT_endYear: endYear
};
3. 调试计算脚本¶
支持使用 log 或 console.log 把中间值打印到浏览器开发者工具的控制台,验证脚本逻辑是否正确。若 log 调试输出不显示,需确认已开启调试模式,在浏览器控制台执行以下命令后刷新页面:
localStorage.setItem("dtv_debug", "true")
编辑和删除自定义参数¶
点击面板中的 编辑自定义参数,在参数列表中找到对应参数,点击其行内的编辑或删除图标。
编辑:修改参数名称、ID、传参示例、描述及脚本逻辑。
删除:删除不再需要的参数。
导航器参数不支持编辑和删除。
使用参数¶
配置完成后,你可以在以下场景中使用自定义参数和导航器参数:
使用场景 |
使用方式 |
参考文档 |
|---|---|---|
组件联动导航器 |
在配置组件与导航器的联动时,从参数列表选择导航器参数。 |
|
计算字段 |
在组件数据配置中,为组件创建或编辑计算字段时,从参数列表中选择参数。 |
|
组件标题 |
为组件配置标题时选择 动态值,通过 |
|
标题跳转 URL |
为组件标题配置交互时,交互行为 选择 点击标题跳转,跳转方式 为 URL 跳转,在 URL 配置中通过 |