如何从angularjs中的另一个控制器调用函数?

前端之家收集整理的这篇文章主要介绍了如何从angularjs中的另一个控制器调用函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Can one controller call another?13个答案> How do I inject a controller into another controller in AngularJS7答案我需要调用函数在另一个控制器在角js.How它是可能的方式请帮助我提前感谢

代码

app.controller('One',['$scope',function($scope) {
        $scope.parentmethod = function() {
            // task
        }
    }
]);
app.controller('two',function($scope) {
        $scope.childmethod = function() {
            // Here i want to call parentmethod of One controller
        }
    }
]);
控制器之间的通信通过$ emit $ on / $ broadcast $ on方法完成。

所以在你的情况下,你想调用控制器“一”控制器“二”内的方法,正确的方法做到这一点:

app.controller('One','$rootScope'
    function($scope) {
        $rootScope.$on("CallParentMethod",function(){
           $scope.parentmethod();
        });

        $scope.parentmethod = function() {
            // task
        }
    }
]);
app.controller('two','$rootScope'
    function($scope) {
        $scope.childmethod = function() {
            $rootScope.$emit("CallParentMethod",{});
        }
    }
]);

当$ rootScope。$ emit被调用时,你可以发送任何数据作为第二个参数。

猜你在找的Angularjs相关文章