javascript - 在 AngularJS 中使用 ng-show 注销后无法隐藏注销按钮

标签 javascript angularjs

我有这样的注销按钮:

<li class="dropdown" data-ng-if="userName">
    <a href class="dropdown-toggle clear" data-toggle="dropdown" data-ng-show="userName">
    </a>
    <!-- dropdown -->
    <ul class="dropdown-menu>
        <li ng-hide="fb_id">
            <a ui-sref="app.changePassword">Change Password</a>
        </li>
        <li>
            <a ui-sref="app.changeProfilePic">Change Profile Picture</a>
        </li>
        <li data-ng-show="userName">
            <a ui-sref="access.signout" data-ng-if="userName">Logout</a>
        </li>
    </ul>
    <!-- / dropdown -->
</li>

在 Controller 中:

$scope.logIn = function (user) {
    $scope.myPromise = AuthService.login({
        'uid': user.email,
        'password': user.password,
    }).then(function (response) {
        $localStorage.userName = response.userName;
        $scope.userName = $localStorage.userName;
    }, function (error) {
        $scope.authError = true;
    });
};

注销 Controller :

$scope.userName = "";
delete $localStorage.userName;
$rootScope.userName = "";

无论我使用 ng-ifng-show,它仍然显示注销按钮和下拉菜单。

最佳答案

尝试使用以下代码。

<a ui-sref="access.signout" data-ng-if="userName != ''">Logout</a>

关于javascript - 在 AngularJS 中使用 ng-show 注销后无法隐藏注销按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37759934/

相关文章:

javascript - 从 Javascript 查询到 Django 服务器

angularjs - ngf-pattern 不适用于 ng-file-upload

angularjs - 通过 AngularJS 中的服务将数据加载到 Controller 中的方法

angularjs - 刷新 Angular 用户界面中的选项卡

Javascript从数组中的给定范围内选择随机数

javascript - Adobe DTM 无法将 Angular 变量识别为数据元素

右侧的 Javascript 滑动选项卡不起作用

javascript - 如何开始使用某人的 API 制作一个小型跨站点 AJAX 脚本?

javascript - 即使使用 AngularJS 和 PHP 的凭据不正确,登录仍然会定向

javascript - 当我选择一个选项时,angularjs 选项列表变为空