广播存在多长时间?

时间:2015-07-21 07:35:35

标签: javascript angularjs broadcast

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

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()被触发时它被销毁了吗?

1 个答案:

答案 0 :(得分:0)

由于你已经在$ rootScope上定义了这个事件,你应该在$ rootScope而不是$ scope上监听相同的事情。此外,正如您在$ scope上定义了侦听器一样,侦听器将被销毁,因为包含控制器的作用域被销毁,.i.e。,CustomerCtrl