javascript - 从另一个 Controller Angular Js 调用函数

标签 javascript jquery angularjs

我是使用 Angular js 的新手,我已经声明了很多 Controller ,现在我想将一个 Controller 的用户功能转换为另一个 Controller 。这是我的示例代码。

app.controller('Controller1',function($scope,$http,$compile){
    $scope.test1=function($scope)
    {
          alert("test1");
    }
});

app.controller('Controller2',function($scope,$http,$compile){
    $scope.test2=function($scope)
    {
          alert("test1");
    }
});
app.controller('Controller3',function($scope,$http,$compile){
  ///
});

现在我想在 controller3 中调用 test2 函数。 任何人都可以帮助.. 感谢 Avance...:)

最佳答案

您不能在 Controller 中调用 Controller 中的方法。您需要提取该方法,创建一个服务并调用它。这也将使代码彼此解耦并使其更易于测试

(function() {
    angular.module('app', [])
        .service('svc', function() {
            var svc = {};

            svc.method = function() {
                alert(1);
            }

            return svc;
        })
        .controller('ctrl', [
            '$scope', 'svc', function($scope, svc) {
                svc.method();
            }
        ]);
})();

示例:http://plnkr.co/edit/FQnthYpxgxAiIJYa69hu?p=preview

关于javascript - 从另一个 Controller Angular Js 调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25562905/

相关文章:

javascript - 无法在 Javascript 中检索对象属性

javascript - 在网站的源代码上找不到 html 表

javascript - 读取 servlet 中整个编码的 URI

javascript - 存储总数并在提交时累积

javascript - 检查两个数组中属性的相同值的快速方法?

javascript - jQuery:使用参数向同一页面发出get请求

javascript - 外部Js文件无法运行Jquery

javascript - 单击事件滚动到特定的 div

html - 使用 orderBy 过滤器 angularjs 删除不正确的行

javascript - DateTimePicker 值与显示日期不一致