繁体   English   中英

使用注入的控制器清除注销数据(Angular)

[英]Clear data on logout with injected controllers (Angular)

我有一个带有两个注入子控制器的父控制器,如下所示:

.controller('parentCtrl', ['$scope', '$http', '$controller', '$uibModal', 
     function ($scope, $http, $controller, $uibModal) {

    $controller('firstChildCtrl', { $scope: $scope })
    $controller('secondChildCtrl', { $scope: $scope })

}])

当用户注销时,登录控制器会发出注销事件:

$scope.$emit('logout');

我的所有其他控制器在接收此事件时清除其数据,如下所示:

 $scope.initial = [];

    $rootScope.$on("logout", function (event) {
        $scope.activities = angular.copy($scope.initial);
    });

所以我的问题是,如何让父控制器清除其子范围中的数据(因为它没有这样做)?

提前致谢!

我最后做的是有一个控制器,工厂(获取数据的服务)在控制器外部,我向控制器注入了多个服务。

.controller('multiCtrl', ['$scope', '$rootScope', '$http', '$uibModal', '$q', 'getApples', 'getPears', 
        function ($scope, $rootScope, $http, $uibModal, $q, getApples, getPears) {

var myApples = getMyApples.fetch(function (apples) {
      $scope.apples = apples;

      var theApples = $scope.apples;

      });

var myPears = getMyPears.fetch(function (pears) {
      $scope.pears = pears;

      var thePears = $scope.pears;

      });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM