在visjs doc中,我需要在angularjs项目中启用stabilizationProgress
事件。我为此创建了plunker demo。
我尝试了类似下面的内容,但不确定如何使用angularjs添加进度条。这是link to give an idea
<vis-network data="data" options="options" events="events"></vis-network>
控制器代码
$scope.events = [{
stabilizationProgress: function (obj) {
},
stabilizationIterationsDone: function () {
}
}];
答案 0 :(得分:3)
启用directive
,以便在angular
和vis
之间传输数据。 vis
可以模仿angular
的每个特征,将vis
与$digest
周期相结合。
指令是处理DOM manipulation
并与vis
等第三方插件集成。
例如,如果您希望在vis
讲述某些内容时更新某些内容,则可以实现如下(假设vis.event()
是来自vis
API的真实方法):< / p>
/* On directive's link() function */
vis.event('bla-bla-bla', function (arg1, arg2, arg3) {
scope.$evalAsync(function () {
scope.emit('vis:bla-bla-bla', arg1, arg2, arg3);
});
});
在您的控制器上,您可以收听此事件:
// On a parent controller where the directive is placed
//
// The $scope below can be $scope too,
// but it will traverse all child scopes first
$scope.$on('vis:bla-bla-bla', function ($event, arg1, arg2, arg3) {
$event.stopPropagation(); // Useful, to avoid performance leak
console.log($event, arg1, arg2, arg3);
});
我读过你指出的一些Plunkr:
http://plnkr.co/edit/XlRkfazfYBmj0GM1PTeC?p=info
事件系统已经存在,您错过了vis-network
元素上的属性,events
元素,并且希望绑定到它的事件。
我建议你注释掉其中的一些内容并每次取消注释以使其正常工作。目前,它们都处于活动状态并登录控制台!
答案 1 :(得分:0)
在控制器中定义一个回调方法,该方法应在事件被触发时执行,例如:
function actOnEvent($event){
window.alert($event. ...);
};
$ event是填充的事件,包含您需要的所有信息。 然后仍然在您的控制器中,您需要将事件映射到您的功能,例如:
var vm = this;
vm.events = { click: actOnEvent};
并在您的html模板中,例如。
<vis-network data="vm.data" options="vm.options" events="vm.events"></vis-network>