我有一个使用 requirejs 的成熟 javascript 应用程序,因此我不能依赖全局变量。我有 d3js 在我的节点网络的概念证明中运行,但是我对 Tick 事件侦听器有一个问题,因为我需要将对象引用传递给它,以便 Tick 事件处理程序可以使用发送者对象上的属性。
我目前有:
MyClass.prototype.SetupD3Force = function()
{
this.Force = d3.layout.force()
.size([200, 200])
.nodes([])
.charge(-120)
.on("tick", this.Tick);
// snip some code here
}
MyClass.prototype.Tick = function()
{
// Need to get hold of the sender's object properties
}
我希望能够做到:
MyClass.prototype.SetupD3Force = function()
{
var width = 200;
var height = 200;
this.Force = d3.layout.force()
.size([width, height])
.nodes([])
.charge(-120)
.linkDistance(function(d) {
return d.value;
})
.on("tick", this.Tick, this); // Add a reference to the sender
// snip some code here
}
MyClass.prototype.Tick = function(sender)
{
// Now I can get hold of my properties
sender.MyProperties...
}
我错过了什么吗?如何将参数传递给 Tick 事件?
谢谢您的帮助!