我正在尝试使用角度的firebase。在我的主页上,我有一个菜单,其中几个菜单项只会显示给登录用户。这是
的代码<div class="collapse navbar-collapse" id="menu-nav" ng-init="tab=1">
<ul class="nav navbar-nav">
<li ng-class="{active:tab===1}"><a href ng-click="tab=1" data-toggle="collapse" data-target=".in">Home</a></li>
<li ng-show="user.authenticated" ng-class="{active:tab===2}" ><a href ng-click="tab=2" data-toggle="collapse" data-target=".in">Add Member</a></li>
<li ng-show="!user.authenticated" ng-class="{active:tab===3}"><a href ng-click="tab=3" data-toggle="collapse" data-target=".in">Login</a></li>
<li ng-show="user.authenticated"> <a href ng-click="user.unauth()" data-toggle="collapse" data-target=".in">Logout</a></li>
</ul>
</div>
我使用了firebase.auth()。onAuthStateChanged为user.authenticated var指定了true / false值。这是代码
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
$scope.user.authenticated =true;
} else {
// No user is signed in.
$scope.user.authenticated =false;
}
});
现在我的问题是它工作正常但不动态更新$ scope.user.authenticated。仅当我再次点击主页或登录菜单时更改。我使用了与OLD firebase(.onAuth)相同的技巧,它运行正常。
我错过了什么吗?