问题描述
在我的视图层之一中
"params": [
{
"name": "selectedFeature","select": {
"type": "point","fields": ["order"]
}
}
vegaInstance.view.addSignalListener('selectedFeature',async function (signalName,e) {
console.debug(signalName,JSON.stringify(e))
// Returns e.g.
// selectedFeature {"order":[2],"vlPoint":{"or":[{"order":2}]}}
}
这行得通。但我也想从图表外部触发信号(不将其绑定到元素),就像解释 in the View API docs 一样。
我尝试过类似的事情
vegaInstance.view.signal('selectedFeature',{order: 2})
和
vegaInstance.view.signal('selectedFeature',{
order: [2],vlPoint: {
or: [{
order: 2
}]
}
});
但没有运气。调试消息日志打印出来
selectedFeature {}
意味着信号 name
被拾取,但不是它的 value
。 value
应该是什么格式?
解决方法
我通过添加一个隐藏的输入字段并将参数绑定到该输入字段来解决它。然后我在该输入字段上触发一个输入事件。