我试图在SelectNotificationCtlr中调用getNotification时在控制器“ Notification”中调用函数。但是,运行此命令时,我收到一条错误消息,指出console.log(“ log”);下面的行上的$ rootScope未定义。我尝试将$ 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");
        }
    }
]);


亲切的问候

认证机构

最佳答案

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

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

关于javascript - $ rootScope未定义,因此无法调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42220444/

10-13 01:06