我正在尝试在我的某个项目中使用'd3.dispatch'功能。我想安装 自定义事件,并使用命名空间将其分发给可用的listenres。
我这样做了:
var dispatcher = d3.dispatch("period_selected"); brush.on("brush", function() { var s = brush.extent() // patch the event to listeners dispatcher.period_selected(s); }); // register listener for the event namespaced dispatcher.on("period_selected.my_namespace", function(s,f) { console.log(event.period_selected); });
但我无法取回带有命名空间的结果。你有什么想法吗?
提前致谢
答案 0 :(得分:1)
命名空间不作为参数传递,也不会分配给事件。如果您真的喜欢命名空间,那么您应该将其作为参数传递:
dispatch.period_selected(s, "my_namespace")
......然后可以在这里找到:
dispatcher.on("period_selected.namespace", function(s, namespace) {
// Use namespace here
});