Javascript 尝试使用Firebase facebook connect和AngularJS更新范围变量时出现问题
事情是这样的 我正在使用AngularJS,并尝试使用firebird的facebook连接来尝试一些事情 一切都很好,它连接到我的facebook,并返回我帐户的信息,但问题是,当我使用angular时,我将使用ng show和ng hide来显示和隐藏connect按钮,对吗 所以我有一个这样的结构:Javascript 尝试使用Firebase facebook connect和AngularJS更新范围变量时出现问题,javascript,html,angularjs,frameworks,firebase,Javascript,Html,Angularjs,Frameworks,Firebase,事情是这样的 我正在使用AngularJS,并尝试使用firebird的facebook连接来尝试一些事情 一切都很好,它连接到我的facebook,并返回我帐户的信息,但问题是,当我使用angular时,我将使用ng show和ng hide来显示和隐藏connect按钮,对吗 所以我有一个这样的结构: <div ng-controller="LoginCtrl"> <div ng-hide="logedUser"> <a href=""
<div ng-controller="LoginCtrl">
<div ng-hide="logedUser">
<a href="" ng-click="loginFacebook()">Login with Facebook</a>
<a href="" ng-click="checkAuth()">check</a>
</div>
<div ng-show="logedUser">
<a href="" ng-click="logout()">Logout</a>
</div>
</div>
因此,当我单击login时,它调用loginFacebook()函数,进行身份验证,然后返回我的用户信息,之后,我使用$scope.logedUser=true将logedUser变量更改为true
但是在我的前端,它没有改变div,所以我创建了一个名为checkAuth()的函数,只是为了访问控制器,并生成一个简单的console.log,在我执行该函数后,它会改变div,使login div消失,logout div出现
这难道不应该通过在Firebase的回调中设置变量自动发生吗?添加
$scope.$apply()
在FirebaseSimpleLogin回调函数中:)
通常,“angular的世界”之外的每个回调都需要这个来刷新其范围
$scope.$apply()