从另一个Service调用AngularJs控制器方法

前端之家收集整理的这篇文章主要介绍了从另一个Service调用AngularJs控制器方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个通用控制器,这个控制器包含一个方法.我需要从另一个服务调用这个控制器方法.可能吗.

我的示例代码
这是我的根控制器及其包含函数myFunction

app.controller('rootController',function($rootScope,$scope,$on) {  

    $scope.$on("func_call",function(event,args) {
    var p = args.myParam;
    // do something
})

    });

这是我的服务,从这个服务我需要在根控制器中调用函数

app.factory('anotherService',$broadcast){

        $rootScope.$broadcast("func_call",{ myParam: {} });
    });

我试图从服务$rootScope.myFunction(“被叫”)调用根控制器功能,但它无法正常工作.任何人请建议更好的方式从服务调用根控制器功能

解决方法

你总是可以使用$broadcast,$emit和$on

尝试越过$rootScope docs

在控制器中设置接收函数监听器:

$scope.$on("func_call",args) {
    var p = args.myParam;
    // do something
})

并在您的服务中调用它:

$rootScope.$broadcast("func_call",{ myParam: {} });

猜你在找的Angularjs相关文章