javascript - 刷新时重置值?

标签 javascript html angularjs

我正在 angularjs 中实现一个登录表单,当登录失败或成功时,我会弹出一个引导警报。 问题是当页面刷新时,弹出窗口总是在这里。

这是我的 html:

<div class="alert alert-success" role="alert" ng-if='loggedin'>
  Logged in successfully!
</div>
<div class="alert alert-danger" role="alert" ng-if='!loggedin'>
  Log in failed!
</div>

当页面出现以下情况时,如何让它们隐藏:

  1. 首次加载或
  2. 刷新

最佳答案

请记住,当您为 View 或 Controller 设置范围时,该范围的第一个值为false

例如,scope.loggedin 首先是 false,直到在您的 Controller 中我们将其更改为 true

解决方案:

Controller :

scope.login = function(){
  scope.tryToLoginIn = true;

  //..your code : this is just example
  $http.get("loginApi").then(function(respponse){
     if(respponse.status === 200){
        scope.loggedin = true;
     }
  })
}

HTML:

<div class="alert alert-success" role="alert" ng-if='tryToLoginIn && loggedin'>
  Logged in successfully!
</div>

<div class="alert alert-danger" role="alert" ng-if='tryToLoginIn && !loggedin'>
  Log in failed!
</div>

在这里,我们检查 tryToLoginIn 是否为 true,然后开始检查 loggedin 条件以显示弹出警报。

关于javascript - 刷新时重置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56086956/

相关文章:

javascript - 使 Scrollbar Angular JS 和 Framework 7 移动

javascript - 带动画的子选择删除

javascript - JQuery 过滤字符串中的数字

html - 您可以使用 if/else 语句在 erb 中设置 div 的样式吗?

html - 如何格式化子菜单,使其横跨屏幕

css - 如何从弹出窗口中删除背景控件?

css 的 Javascript href 属性未更新

javascript - jQuery 验证不适用于 focusout?

javascript - 理解 &lt;script&gt; 标签中的 "type"属性

arrays - 使用angular js根据第一个选择的选项过滤第二个选择框