javascript - 如何在 Angular-dashboard-framework 中调用关闭小部件的函数?

标签 javascript angularjs angularjs-scope

我正在使用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/

相关文章:

javascript - 点击时获取href

JavaScript HTML5 文件 API : Uncaught ReferenceError: utils is not defined

javascript - 当文本省略号应用于元素时如何使用工具提示?

javascript - 无法将 JSON 响应数据分配给 AngularJS 中的 $scope 变量

javascript - Webpack 的 bootrstrap-sass 错误 : Bootstrap´s JavaScript requires jQuery

javascript - js - kcfinder tinymce 实现

javascript - ng-model 在 dom 中附加元素而不是字符串

AngularJS - 无法在 $http 请求上传递 header

javascript - $rootScope :infdig error in AngularJS when using ng-disabled to validate a collection of elements

angularjs - 高效的 AngularJS 状态管理和持久化