无法调用函数,因为$ rootScope未定义

时间:2017-02-14 07:43:07

标签: javascript angularjs function web rootscope

当我在SelectNotificationCtlr中调用getNotification时,我试图在控制器'Notification'中调用该函数。但是在运行时,我得到一个错误,指出$ rootScope未在console.log(“log”);下面的行上定义。我已经尝试将$ rootScope作为参数传递给我的getNotification函数但仍然收到相同的错误。

请参阅下面的代码,我们非常感谢任何建议或帮助。

app.js

selectNotification.controller('selectNotificationCtlr', ['$scope', '$rootScope', 'notificationsService',
    function($scope, $http, notificationsService, notificationService, $rootScope) {
        $scope.getNotification = function() {
            var id = $scope.selectedNotification;
            notificationData = notificationsService.getNotifications();
            console.log(notificationData);

            console.log("log");
            $rootScope.$emit("call", {});
        }
    }
]);


selectNotification.controller('Notification', ['$scope', '$rootScope',
    function($scope, $rootScope) {
        $rootScope.$on("call", function() {
            $scope.parent(notificationService);
        });

        $scope.parent = function() {
            console.log("log");
        }
    }
]);

亲切的问候

CB

1 个答案:

答案 0 :(得分:3)

您的控制器应具有正确顺序的依赖关系,

selectNotification.controller('selectNotificationCtlr', ['$scope', '$rootScope', 'notificationsService',
    function($scope, $rootScope, notificationsService) {