配置单页应用参数


在 DTV 单页应用中,导航器会自动产生一批参数,供页面组件联动使用。但在实际开发中,导航器参数的格式或粒度往往不能直接满足需求。例如:

  • 时间导航器产生的是完整时间戳,但图表标题只需要显示”年份”。

  • 需要基于多个导航器参数组合计算出一个新值。


自定义参数 就是为这类场景设计的,你可以用 JavaScript 脚本,将现有的导航器参数加工转换,生成页面真正需要的新参数。

运行时,全局参数 = 导航器参数 + 自定义参数,两类参数在组件联动、计算字段、标题引用等场景中均可使用。

打开参数面板


在单页应用编辑界面的右上角,点击 其它 → 参数,打开参数面板。

面板中展示当前页面所有导航器参数和已配置的自定义参数。


single-page

新增自定义参数


点击面板中的 编辑自定义参数,完成以下配置:

1. 定义参数基本信息


在弹窗右侧点击 添加自定义参数,配置以下信息:

字段

说明

参数名称

用于面板展示,支持国际化。

ID

系统自动添加 _DT_ 前缀。必须以英文字母开头,支持英文字母、数字和下划线,不可与页面已有参数重名。

传参示例

填写该参数的示例值,便于其他人理解参数格式。

描述

说明参数用途。

2. 编写计算脚本


脚本本质是一个 JS 函数体,以导航器参数作为输入,计算出自定义参数的值。当导航器参数发生变化时,系统自动执行此脚本并更新自定义参数值。


系统提供以下内置变量:

变量

说明

global

JS 对象,包含所有已添加至页面的导航器参数,如 global.startTime、global.mdmId。

locale

当前语言,如 zh-CN、en-US。

log

控制台日志输出,用法同 console.log,用于调试。

脚本末尾需 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、传参示例、描述及脚本逻辑。

  • 删除:删除不再需要的参数。

导航器参数不支持编辑和删除。

使用参数


配置完成后,你可以在以下场景中使用自定义参数和导航器参数:

使用场景

使用方式

参考文档

组件联动导航器

在配置组件与导航器的联动时,从参数列表选择导航器参数。

组件联动导航器

计算字段

在组件数据配置中,为组件创建或编辑计算字段时,从参数列表中选择参数。

添加计算字段

组件标题

为组件配置标题时选择 动态值,通过 ${参数ID} 引用参数。

组件联动导航器

标题跳转 URL

为组件标题配置交互时,交互行为 选择 点击标题跳转,跳转方式 为 URL 跳转,在 URL 配置中通过 ${参数ID} 引用参数。

左侧标题交互