广播存在多久?
How long does broadcast exist?
我的页面上有一个按钮。当用户点击我的按钮时,执行以下代码:
as.controller('CustSummary', function($scope, $rootScope, $http, $routeParams, $location)
{
var loadAbbDetails = function()
{
$rootScope.$broadcast('loadDetails');
}
$scope.viewAbbDetails = function()
{
loadAbbDetails();
}
}
我在另一个控制器中附加了 "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();
});
}
我只是想知道这个听众"exists"多久了?它是否在 loadDetails() 被触发时被销毁?
因为您已经在 $rootScope 上定义了事件,所以您应该在 $rootScope 而不是 $scope 上监听相同的事件。此外,由于您在 $scope 上定义了侦听器,因此随着包含控制器的范围被销毁,侦听器也会被销毁,即 CustomerCtrl
.
我的页面上有一个按钮。当用户点击我的按钮时,执行以下代码:
as.controller('CustSummary', function($scope, $rootScope, $http, $routeParams, $location)
{
var loadAbbDetails = function()
{
$rootScope.$broadcast('loadDetails');
}
$scope.viewAbbDetails = function()
{
loadAbbDetails();
}
}
我在另一个控制器中附加了 "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();
});
}
我只是想知道这个听众"exists"多久了?它是否在 loadDetails() 被触发时被销毁?
因为您已经在 $rootScope 上定义了事件,所以您应该在 $rootScope 而不是 $scope 上监听相同的事件。此外,由于您在 $scope 上定义了侦听器,因此随着包含控制器的范围被销毁,侦听器也会被销毁,即 CustomerCtrl
.