【发布时间】:2017-09-20 21:01:26
【问题描述】:
伙计们。我正在做一个登录页面。 当用户尚未登录时,页面将显示问候语和登录按钮。 当用户登录时,问候和登录按钮将消失,并出现注销按钮。
但是,我的问候 div 永远不会消失。我不知道为什么。我尝试使用 $scope.$apply() 但它根本不起作用。 以下是我的代码。请帮忙,谢谢。
PS:我希望人们登录时问候消失,并且人们注销时问候也会出现。
我的 HTML
<div ng-show="show.intro">
<h3>Hi, how are you?</h3>
<i>*Please log in first to access your news.</i>
</div>
<span>
<br>
<button type="button" class="btn btn-info" ng-click="login()" ng-hide="authData">Login using Google Account</button>
</span>
<span class="pull-right">
<br>
<button type="button" class="btn btn-info" ng-click="logout()" ng-show="authData">Log Out</button>
</span>
我的控制器
.controller("AuthController", ["$scope", "$location",
function($scope, $location) {
$scope.show = {intro: true};
$scope.login = function() {
$scope.show.intro = false;
};
$scope.logout = function() {
$scope.show.intro = true;
};
谢谢。
【问题讨论】:
-
你在哪里设置 authData?
-
authData 是 firebase 身份验证方法的返回值。所以如果 authData 为空,页面会显示登录按钮,如果 authData 有值,它将显示注销按钮。
-
代码看起来有效。能给个完整的html吗?并尝试输入 {{show}}这样我们就可以看到可以从 div 访问的对象
嗨,你好吗?
*请先登录以查看您的新闻。
标签: angularjs angularjs-scope ng-show