首页 > 解决方案 > 在层图中的顶层定义参数会产生重复信号错误

问题描述

在顶层添加信号/参数会产生重复的信号错误。
请参考以下要点:https ://vega.github.io/editor/#/gist/707bfd917262898f155acf1d6e50fff4/root_signal_layer_spec.json

在图层级别指定参数可以正常工作。
但是,需要通过 Vega View API 更新信号,该 API 只能访问顶级参数。所以,试图将参数移动到顶层。图层组合规范或此工作流程的任何解决方法中是否存在不允许顶级参数的限制?

标签: vega-lite

解决方案


当您尝试在顶层提供参数时,您会得到duplicate signal error. 这是因为 vega-lite 可能假设 2 层应该具有相同的参数,所以它试图创建 2 个具有相同名称的参数。但是根据文档name,参数应该是唯一的。

相反,您应该像之前尝试的那样在层级提供参数。您还提到您正在尝试使用 Vega View API 更新信号,所以这应该可以正常工作,因为每个参数名称在整个视图中都是唯一的。

您可以使用 简单地访问您的信号VEGA_DEBUG.view.signal('rootSignal')。请参阅文档https://vega.github.io/vega/docs/api/view/#view_signal

只是为了检查您的参数名称是否作为信号存在,当在层级别提供时。尝试使用VEGA_DEBUG.view._signals.rootSignal


推荐阅读