вызов события в модальном контроллере

0

У меня есть функция $ scope. $ On callback на моем mainController. где бы я ни называл это с каждого контроллера, он отлично работает. но когда я вызываю это из modalController после открытия модального, он не работает:

define(['app', 'jquery'], function (app, $) {
    app.controller('MainViewControllerUser',
        function ($scope, $location, $rootScope, $interval, MainViewFactoryUser){
        $scope.$on('loadingPage', function (event, value) {
            $scope.chartLoading = value;
        });
}
});

/ / ----------------------- конец главного контроллера

 define(['app', 'underscore'], function (app, _) {
        app.controller('advertisementController',
            ['$scope', '$location', '$rootScope', '$interval', 'toaster', 'advertisementFactory', '$modal',
                function ($scope, $location, $rootScope, $interval, toaster, advertisementFactory, $modal) {
                $scope.$emit('loadingPage', true);

    }
    ]);



  app.controller('addClientCrtl',
            ['$scope', '$modalInstance', 'toaster', 'advertisementFactory',
                function ($scope, $modalInstance, toaster, advertisementFactory)
    {
                    $scope.$emit('loadingPage', true);

    }
    ]);



   });

что $scope.$emit('loadingPage', true); в advertController работает хорошо, но в addClientCrtl не работает. Я должен процитировать, что модальный контроллер определяет в adviertisementController и вызывает внутри него

Теги:

1 ответ

2
Лучший ответ

Вместо $ scope вы можете попробовать $ rootScope:

$rootScope.$on('loadingPage', function ({
});

$rootScope.$emit('loadingPage', true);
  • 1
    или простой $rootScope.$emit('loadingPage', true); так как $ rootscope автоматически преобразуется в $ scope для parent if, parent вызывает дочерний контроллер в той же области
  • 0
    спасибо дружище :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню