从控制器获取 vis.js 网络事件
Get vis.js networkEvents from the controller
我需要在我的控制器中使用点击事件。
networkEvents 是在 angular-vs.js 指令中创建的,我需要在我的控制器中使用它来触发各个节点的点击事件。
这是我正在使用的代码片段,但它似乎确实有效:
$scope.networkEvents = { onload:function(network){ alert("Clicked"); } }
谢谢,
这是我的plunker。
index.html
您似乎没有设置 vis-network 指令的 events 属性,所以我认为您的意思是:
<vis-network data="data" options="options" events="networkEvents" height="100%"></vis-network>
angular-vis.js
此外,在 vis-network 指令的 onload 回调中(第 151 行),您将图形传递给 onload 函数,但它未定义。 (也许它应该是网络?):
// onLoad callback
if (scope.events != null && scope.events.onload != null &&
angular.isFunction(scope.events.onload)) {
scope.events.onload(network);
}
script.js
通过以上更改,onload 函数似乎按预期工作。由于您已经设置了 forEach 循环来附加事件,要获取点击事件,您只需将其添加到 networkEvents 对象:
$scope.networkEvents =
{
onload: function(network){
alert("I'm loaded");
},
click: function(clicked) {
alert("id: " + clicked.nodes[0] + " was clicked");
}
}
我需要在我的控制器中使用点击事件。 networkEvents 是在 angular-vs.js 指令中创建的,我需要在我的控制器中使用它来触发各个节点的点击事件。
这是我正在使用的代码片段,但它似乎确实有效:
$scope.networkEvents = { onload:function(network){ alert("Clicked"); } }
谢谢,
这是我的plunker。
index.html
您似乎没有设置 vis-network 指令的 events 属性,所以我认为您的意思是:
<vis-network data="data" options="options" events="networkEvents" height="100%"></vis-network>
angular-vis.js
此外,在 vis-network 指令的 onload 回调中(第 151 行),您将图形传递给 onload 函数,但它未定义。 (也许它应该是网络?):
// onLoad callback
if (scope.events != null && scope.events.onload != null &&
angular.isFunction(scope.events.onload)) {
scope.events.onload(network);
}
script.js
通过以上更改,onload 函数似乎按预期工作。由于您已经设置了 forEach 循环来附加事件,要获取点击事件,您只需将其添加到 networkEvents 对象:
$scope.networkEvents =
{
onload: function(network){
alert("I'm loaded");
},
click: function(clicked) {
alert("id: " + clicked.nodes[0] + " was clicked");
}
}