【发布时间】:2016-01-05 12:26:45
【问题描述】:
我已经搜索了很多,但找不到一个解决方案,可以在不刷新页面的情况下显示/隐藏元素。这是我想要完成的简化版本:
HTML:
<input ng-show="user == null" type="text" placeholder="username" ng-model="username" />
<button ng-show="user == null" ng-click="login()">Add User</button>
<div ng-show="user != null"> should show when user is defined </div>
控制器:
$scope.login = function () {
sessionStorage.setItem('username', $scope.username);
$scope.user = sessionStorage.getItem('username');
};
我能够成功获取存储在会话存储中的用户名,但是在变量存储在 sessionStorage 和 $scope.user 中之后,我无法让输入消失并且 div 动态显示。
如果我在登录后刷新页面,显示和隐藏确实有效。
另一种方法是在登录功能中显示/隐藏元素,但我也不知道该怎么做。
有没有办法让这些动态显示/隐藏?
【问题讨论】:
-
能否提供codepen sn-p或jsfiddle code sn-p?
-
@PareshGami 我现在会处理它
-
是的,请提供相同的,以便我可以帮助您
-
这段代码没有明显的问题;
ng-show应该动态更新,除非您的user变量在不同的范围内;就其价值而言,在使用基元而不是对象时,这绝对是可能的,但在没有看到更多 HTML 和控制器结构的情况下,尚不清楚在您的情况下是否会发生这种情况。
标签: javascript html angularjs