GoJS - 单击事件奇怪的行为,"this" 最终为空
GoJS - Click event strange behaviour, "this" ends up being null
我想在我的 GoJS 图被点击时更新一些列表面板。单击事件每次都会触发,但有时 this
最终会在事件中变为 null
,我无法访问面板的其余部分。知道为什么会这样吗?
myDiagram.linkTemplate =
$(Link,
$(Shape,
{ strokeWidth: 1, stroke: "gray" },
$(Shape, new Binding("fromArrow", "fa")),
$(Shape, new Binding("toArrow", "ta")),
{
click: (e: go.InputEvent, obj: go.GraphObject, ) => {
console.log('[nav123] starting click');
this.listPanelA.scrollToRow(obj['pb'].rowNumber);
this.listPanelB.scrollToRow(obj['pb'].rowNumber);
}
});
谢谢!
使用e
和obj
参数代替this
,这在JavaScript中很难预测,因为你不知道调用事件的上下文.
我想在我的 GoJS 图被点击时更新一些列表面板。单击事件每次都会触发,但有时 this
最终会在事件中变为 null
,我无法访问面板的其余部分。知道为什么会这样吗?
myDiagram.linkTemplate =
$(Link,
$(Shape,
{ strokeWidth: 1, stroke: "gray" },
$(Shape, new Binding("fromArrow", "fa")),
$(Shape, new Binding("toArrow", "ta")),
{
click: (e: go.InputEvent, obj: go.GraphObject, ) => {
console.log('[nav123] starting click');
this.listPanelA.scrollToRow(obj['pb'].rowNumber);
this.listPanelB.scrollToRow(obj['pb'].rowNumber);
}
});
谢谢!
使用e
和obj
参数代替this
,这在JavaScript中很难预测,因为你不知道调用事件的上下文.