广播存在多久



我的页面上有一个按钮。当用户点击我的按钮时,将执行以下代码:

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();
   });
}

我只是想知道这个听众"存在"了多久?当loadDetails((被激发时,它被破坏了吗?

当您在$rootScope上定义了事件时,您应该在$rootScope而不是$scope上侦听相同的事件。此外,正如您在$scope上定义了侦听器一样,侦听器也会随着包含控制器的作用域(即CustomerCtrl(的销毁而销毁。

相关内容

最新更新