Javascript AngularJS-另一个服务回调内的服务调用不起作用

Javascript AngularJS-另一个服务回调内的服务调用不起作用,javascript,angularjs,Javascript,Angularjs,我试图实现一些代码来控制一个弹出窗口来显示加载信息。 为此,我实现了一小段代码来控制弹出窗口,并设置其可见性和内容 我正在使用PopupController设置Popup元素的行为。PopupService用于连接PopupController和ApplicationController PopupService: PopupController: 应用控制器 在DataService的回调中,对PopupService的调用不起作用。 我想我确实有一些范围问题,但我无法解决这个问题 有人能帮忙

我试图实现一些代码来控制一个弹出窗口来显示加载信息。 为此,我实现了一小段代码来控制弹出窗口,并设置其可见性和内容

我正在使用PopupController设置Popup元素的行为。PopupService用于连接PopupController和ApplicationController

PopupService:

PopupController:

应用控制器

在DataService的回调中,对PopupService的调用不起作用。 我想我确实有一些范围问题,但我无法解决这个问题

有人能帮忙吗


谢谢

尝试$scope。$apply包装您的非功能语句stry将其绑定到作用域:$scope.PopupService=PopupService;,然后在回调中$scope.PopupService.isVisible=false;。我认为$scope.$apply只会更新PopupService不属于的范围。虽然我可能错了,但是关于服务的一些事情仍然困扰着我。谢谢你的回答。我试图将PopupService分配给本地作用域,但这并没有改变任何事情。分配后,我尝试$apply$scope,但遇到一个错误,我不知道如何处理。此错误的参考是我无法在此函数中调用第二个$apply过程。请显示DataService代码。
app.service("PopupService", function(){
     return {content: "", isVisible: false}
});
app.controller('PopupController', function($scope, PopupService){
    $scope.isVisible = PopupService.isVisible;
    $scope.content = PopupService.content;
})
app.controller('ApplicationController', function($scope, PopupService, DataService){
    PopupService.isVisible = true;          <-- Works fine
    PopupService.content = "Loading Data";  <-- Works fine

    DataService.query(function(list){
        $scope.list = list;
        PopupService.isVisible = false;     <-- Does not work
    })
})