$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")
第一个控制器:
$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")