是否可以在 $rootScope 变量上使用 getReactively?

is it possible to use getReactively on $rootScope variables?

我想根据用户更新 ui,因此如果用户注销并以不同用户身份登录,则 [=18] 中的用户得分=] 改变了。我考虑这样做的方式是查看 $rootScope.currentUser

从我的测试来看,似乎有某种访问 $rootScope 的权限,但它不会根据用户更改进行更新(除非我的代码中有错误)。这是相关代码:

$meteor.autorun($scope, function() {
            if (null !== $rootScope.currentUser) {
                $scope.userForScore = $scope.$meteorObject(Userinfo, {user_id: $scope.getReactively('currentUser')._id});//$rootScope.currentUser._id
            }
        });

    $scope.userScore = function(){
        if ($scope.userForScore === undefined || $scope.userForScore.score === undefined) {
            return 1;
        }
        return $scope.userForScore.score;
    };

Userinfo - 是我在服务器中创建的集合。

您可以使用 Meteor.user() 这是一个反应性变量。无需添加额外的观察者层。

是的,这是可能的,它的工作原理与您完全一样。

您的问题与 getReactively 无关,我已经向您的存储库创建了一个拉取请求来修复它: https://github.com/Urigo/angular-meteor/issues/415#issuecomment-113925910