在
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 () { } }];
解决方法
启用将在angular和vis之间传输数据的指令. vis的每个特征都可以在角度上模仿,与其消化周期相结合.
指令是处理DOM操作以及与第三方插件(如vis)的集成.
例如,如果你想在vis告诉某事时得到更新的东西,你可以实现如下(假设vis.event()是来自vis API的真实方法):
/* On directive's link() function */ vis.event('bla-bla-bla',function (arg1,arg2,arg3) { scope.$evalAsync(function () { scope.emit('vis:bla-bla-bla',arg1,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,arg3) { $event.stopPropagation(); // Useful,to avoid performance leak console.log($event,arg3); });
编辑1:
我读过你指出的一些Plunkr:
http://plnkr.co/edit/XlRkfazfYBmj0GM1PTeC?p=info
事件系统已经存在,您缺少vis-network元素上的属性,事件一,事件需要绑定到它.
我建议你注释掉其中的一些,每次取消注释,看看它是否正常工作.目前,他们都活跃并登录控制台!