0

我有一个案例,我想根据用户更新 ui,所以如果用户注销并以不同用户身份登录,则用户在 ui 中的分数会改变。我想这样做的方式是查看$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 - 是我在服务器中创建的一个集合。

4

2 回答 2

1

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

于 2015-06-07T16:14:43.347 回答
1

是的,这是可能的,它的工作方式与您所做的完全一样。

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

于 2015-06-21T16:41:55.057 回答