在模态控制器中调用事件
calling an event in modal controller
我的 mainController 上有一个 $scope.$on 回调函数。无论我从每个控制器调用它的什么地方,它都能完美运行。但是当我在打开 modal 后从 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);
}
]);
});
advertisementController 中的 $scope.$emit('loadingPage', true);
工作正常,但在 addClientCrtl 中不工作。我必须引用模态控制器在 adviertisementController 中定义并在其中调用
你可以试试 $rootScope:
而不是 $scope
$rootScope.$on('loadingPage', function ({
});
$rootScope.$emit('loadingPage', true);
我的 mainController 上有一个 $scope.$on 回调函数。无论我从每个控制器调用它的什么地方,它都能完美运行。但是当我在打开 modal 后从 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);
}
]);
});
advertisementController 中的 $scope.$emit('loadingPage', true);
工作正常,但在 addClientCrtl 中不工作。我必须引用模态控制器在 adviertisementController 中定义并在其中调用
你可以试试 $rootScope:
而不是 $scope$rootScope.$on('loadingPage', function ({
});
$rootScope.$emit('loadingPage', true);