以下有效,但似乎不对 (see live demo) :
vg.parse.spec(spec, function(chart) {
var view = chart({
el: "#graph"
});
view.update();
view.update({
props: "hover",
items: view._model._scene.items[0].items[0].items[1] // <- ugly and brittle!
});
});
这样做的正确方法是什么?
答案 0 :(得分:1)
Vega正在取得良好进展,这是他们在论坛中谈到的功能之一。但是,现在,您正在做的是获取场景项目的唯一方法。
为了证明,请参阅jheer(vega的主要作者)的建议:https://groups.google.com/forum/#!topic/vega-js/r4aUahV-RwI(上一篇文章显示了以与您相同的方式遍历场景的示例)。
一个小区别是您可以使用view.model().scene()
代替view._model._scene
。但是现在那些做同样的事情,只是你不必使用积极告诉你不要使用它们的变量:)