$rootScope.$broadcast 没有在页面重新加载时更新?

$rootScope.$broadcast is not updating on page reload?

第一个控制器:

$rootScope.$broadcast("CallParentMethod", {});

第二个控制器:

$rootScope.$on("CallParentMethod", function() {
    $scope.getUserDetails();
})
$scope.getUserDetails = function() {
    HttpService.get("/customer/" + nationalId).then(function(resp) {
        if (resp.status == 'success') {
            console.log(resp.result)
            $rootScope.county_name = angular.copy(resp.result.county)
            $rootScope.campaign_name = angular.copy(resp.result.campaign)
            console.log($rootScope.campaign_name)
        }
    });
};

$scopes 的混合

已触发此事件

$rootScope.$broadcast("CallParentMethod", {});

因此您应该在子 $scope 中收听此事件,但您在 $rootScope

中收听它
$rootScope.$on("CallParentMethod", function() {
    $scope.getUserDetails();
})

您可能希望在定义 getUserDetails() 的相同范围内收听它

$scope.$on("CallParentMethod", function() {
    $scope.getUserDetails();
})

另提示:如果不需要传递任何参数,可以在$broadcasting

时忽略空对象{}
$rootScope.$broadcast("CallParentMethod")