我有一个案例,我想根据用户更新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 - 是我在服务器中创建的集合。
答案 0 :(得分:1)
您可以使用Meteor.user()这是一个反应性var。无需添加额外的观察者层。
答案 1 :(得分:1)
是的,它是可能的,它的工作方式与您的完全相同。
你的问题与getReactively无关,我已经为你的repo创建了一个pull请求来修复它: https://github.com/Urigo/angular-meteor/issues/415#issuecomment-113925910