是否可以在 $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
我想根据用户更新 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