使用帐户登录ui angular dons't刷新$account.currentUser

logging in with accounts-ui-angular doesn't refresh $account.currentUser

本文关键字:刷新 currentUser account dons 登录 angular ui      更新时间:2023-09-26

我在页面中使用dotansimha:accounts-ui-angular指令来登录像谷歌这样的api服务。在页面中,我有一个带有ng-show="$auth.currentUser"的div,如果没有登录用户,它将隐藏div。代码工作得很好,但是我必须刷新页面。目前我正在主页index.html中嵌入<login></login>标签。如何使$auth.currentUser值主动检查其值?

所以我最终解决了这个问题,但我不知道这是否是最佳实践。

在我的html中,如果用户没有登录,我想隐藏两个链接。我使用ng-show="$auth.currentUser"

在工具栏指令中,我添加了$watch逻辑,用于监视$auth.currentUser值的更改。

  $scope.$watch('currentUser',function(newVal, oldVal){
    console.log(newVal, oldVal)
    if(newVal !== oldVal || typeof newVal !== typeof {}){
      location.reload()
      Meteor.loginWithSpotify(options, function(err){
        console.log(err || 'No error')
      }
    }
    console.log(newVal, oldVal)
  })

如果$auth.currentUser的值不等于$auth.currentUser的值,或者$auth.ccurrentUser不是对象类型,则此逻辑将重新加载页面。

EX:if(用户数据!==null){刷新页面}

希望这是清楚的。