我正在使用angular-dashboard-framework对于一个项目,我需要在我的小部件关闭时触发一个函数。到目前为止,我发现当小部件关闭时,adf 会广播消息 adfWidgetRemovedFromColumn
。
所以我在 Controller 上创建了一个事件监听器,如下所示
$scope.$on('adfWidgetRemovedFromColumn', function(event, args) {
console.log('widget-removed');
someService.someFunction();
});
问题是,由于上述消息是在 rootScoop 上广播的,因此仪表板中关闭的每个小部件都会激活上面的监听器。如何限制它仅在关闭某个小部件时触发?
最佳答案
您应该在广播事件时添加数据,如下所示 -
$rootScope.$broadcast('eventName', {'myWidget': $scope.isMyWidget})
这里,仅当单击所需的小部件时,myWidget 才应为 true。因此,仅当单击所需的小部件时,$scope.isMywidget
才应为 true,否则为 false。
然后在监听器中,仅当该参数为 true 时您才会执行代码 -
$scope.$on('adfWidgetRemovedFromColumn', function(event, args) {
if (args.myWidget) {
console.log('widget-removed');
someService.someFunction();
}
});
希望对你有帮助
关于javascript - 如何在 Angular-dashboard-framework 中调用关闭小部件的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44775071/