javascript - 来自另一个 Controller 的 Ionic 1 调用函数

标签 javascript angularjs ionic-framework

我在使用 ionic 1 时遇到问题,我想从第二个 Controller 调用第一个 Controller 中的函数,但我总是遇到此错误

TypeError: $rootScope.getData is not a function 

任何人都请帮助我解决这个问题,今晚我必须履行职责,这是我的小脚本。

第一个 Controller :

.controller('FirstController',function('SocketService',$scope, $rootScope){
  $rootScope.getData = function(data) {
            console.log(data);
        }
});

第二个 Controller :

    .controller('SecondController',function('SocketService',$scope, $rootScope){
      $scope.callData = function() {
                $rootScope.getData('success');
            }
       $scope.callData();
    });

请任何人帮助我。谢谢。

最佳答案

我建议您使用服务

.service('CommunFunctionsService', function(){
    var s = {};
    s.getData = function() {
        // do something
    }
    return s;
})

.controller('FirstCtrl', function(CommonFunctionsService, $scope){
    $scope.getData = function(){
        CommunFunctionsService.getData();
    }
})

.controller('SecondController', function(CommonFunctionsService, $scope){
    $scope.getDataToo= function(){
        CommunFunctionsService.getData();
    }
})

关于javascript - 来自另一个 Controller 的 Ionic 1 调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48336949/

相关文章:

javascript - AngularJS 计算 JSON 数组中 ID 等于的项目数

javascript - Angularjs 复选框组最小和最大验证限制

javascript - Ionic 4 Deeplink 插件返回错误路由不匹配

css - 如何获得三个同样高的行?

html - chrome 和 safari 的打印宽度不同

android - 如何在 ionic 中监听 Android 硬件后退按钮

javascript - 更改网站中按钮的功能

javascript - 当 DOM 对象已在 Angular 中渲染时,如何调用 Controller 中指定的函数?

javascript - 重新渲染 HTML Angular js

javascript - 在 Safari IOS12 上禁用双击缩放/调整大小***