javascript - 如何更新主 Controller $scope 自 Angularjs 中的歌曲 Controller

标签 javascript angularjs parse-platform

我正在使用 Angular 和 Parse.com,但遇到一个问题:

我有一个“mainController”,它位于所有html文档中,还有一个带有一些页面和 Controller 的routeProvider。

   function mainController($scope) 
       {

            $scope.logeado = (Parse.User.current()!=null)

              if (Parse.User.current()==null)
                {
                     $scope.showuser=""
                }
              else
                {
                    $scope.showuser=Parse.User.current().get('username')
                }

              $scope.logout = function()
                {
                     Parse.User.logOut();
                     $scope.logeado = (Parse.User.current()!=null);
                     $scope.$apply();
                 }

      };

该 Controller 之一是“loginController”。在此 Controller 中进行登录,但我的问题是: 如果我注销,该函数位于主 Controller 中,并且此 ng-show="logeado"会发生变化,因为变量在内部,但如果我自登录 Controller 以来登录,我可以更改“Parse.User.current()”,但 $scope.logeado没有更新,我需要更新所有页面才能看到更改。

我该如何更新变量?

最佳答案

解决问题的方法之一是实现模式观察器。让 Parse.User.current 通知他的状态。

function mainController($scope){  

  Parse.User.current.onChange(function () {
    $scope.logeado = (Parse.User.current()!=null);

    if (Parse.User.current() == null)      {
      $scope.showuser=""
    } else  {
      $scope.showuser=Parse.User.current().get('username')
    }
  });

  $scope.logout = function() {
    Parse.User.logOut();
  };
};

关于javascript - 如何更新主 Controller $scope 自 Angularjs 中的歌曲 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23659218/

相关文章:

android - 如何通过 Android 使用 Parse 从数据库中查询

javascript - History.js 在 Internet Explorer 中不工作

javascript - 监听 Firefox 扩展中变量的值变化?

javascript - 数组更新后的 knockout 绑定(bind)

angularjs - 如何查看集合中的每个对象?

javascript - Angular,无法实例化模块 : Uncaught Error: [$injector:modulerr]

swift - 使用 swift 从表和解析数据源中删除数据

ios - 如何从 parse.com 获取数据并将其设置在文本字段中?

javascript - Rails - document.ready 无法在特定 JavaScript 文件中工作

javascript - CORS 和 Angular header 身份验证的烦人问题