我的页面上有一个按钮。当用户点击我的按钮时,执行以下代码:
as.controller('CustSummary', function($scope, $rootScope, $http, $routeParams, $location)
{
var loadAbbDetails = function()
{
$rootScope.$broadcast('loadDetails');
}
$scope.viewAbbDetails = function()
{
loadAbbDetails();
}
}
我已经聆听了#34; loadDetails"在另一个控制器中:
as.controller('CustomerCtrl', function($scope, $rootScope, $http, $routeParams, $location)
{
var loadDetails = function()
{
$scope.include = 'partials/customer/customerabbdetails.html';
};
$scope.$on("loadDetails",function(event,args) {
loadDetails();
});
}
我只是想知道这个听众存在多久"?当loadDetails()被触发时它被销毁了吗?
答案 0 :(得分:0)
由于你已经在$ rootScope上定义了这个事件,你应该在$ rootScope而不是$ scope上监听相同的事情。此外,正如您在$ scope上定义了侦听器一样,侦听器将被销毁,因为包含控制器的作用域被销毁,.i.e。,CustomerCtrl
。