Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用Firebase facebook connect和AngularJS更新范围变量时出现问题_Javascript_Html_Angularjs_Frameworks_Firebase - Fatal编程技术网

Javascript 尝试使用Firebase facebook connect和AngularJS更新范围变量时出现问题

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=""

事情是这样的

我正在使用AngularJS,并尝试使用firebird的facebook连接来尝试一些事情

一切都很好,它连接到我的facebook,并返回我帐户的信息,但问题是,当我使用angular时,我将使用ng show和ng hide来显示和隐藏connect按钮,对吗

所以我有一个这样的结构:

<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()