Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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 Angularjs基于存储在会话存储中并存储在$scope上的变量动态显示/隐藏元素_Javascript_Html_Angularjs - Fatal编程技术网

Javascript Angularjs基于存储在会话存储中并存储在$scope上的变量动态显示/隐藏元素

Javascript Angularjs基于存储在会话存储中并存储在$scope上的变量动态显示/隐藏元素,javascript,html,angularjs,Javascript,Html,Angularjs,我已经搜索了很多,但找不到一个在不刷新页面的情况下显示/隐藏元素的解决方案。这是我试图实现的目标的简化版本: HTML: 我能够成功地获得存储在会话存储中的用户名,但是在变量存储在sessionStorage和$scope.user中之后,我无法使输入消失,div动态显示 如果我在登录后刷新页面,则“显示”和“隐藏”都可以工作 另一种方法是在登录函数中显示/隐藏元素,但我也不知道如何做到这一点 有没有办法让它们动态显示/隐藏?提供的代码没有问题。这里有一个很好的例子,我删除的唯一一件事就是访问s

我已经搜索了很多,但找不到一个在不刷新页面的情况下显示/隐藏元素的解决方案。这是我试图实现的目标的简化版本:

HTML:

我能够成功地获得存储在会话存储中的用户名,但是在变量存储在sessionStorage和$scope.user中之后,我无法使输入消失,div动态显示

如果我在登录后刷新页面,则“显示”和“隐藏”都可以工作

另一种方法是在登录函数中显示/隐藏元素,但我也不知道如何做到这一点


有没有办法让它们动态显示/隐藏?

提供的代码没有问题。这里有一个很好的例子,我删除的唯一一件事就是访问
sessionStorage
,因为出于安全原因,它不允许在沙箱模式下使用

确保您已分别声明了
ng app
ng controller
指令

var-app=angular.module(“myApp”,[]);
app.controller(“myController”,[“$scope”,
职能($范围){
$scope.login=函数(){
$scope.user=$scope.username;
};
}
]);

添加用户
应在定义用户时显示

你能提供codepen代码段或JSFIDLE代码段吗?@PareshGami我现在会处理的。是的,请提供相同的代码,以便我可以帮助你。这段代码没有明显的错误
ng show
应该动态更新,除非您的
user
变量在不同的范围内;值得一提的是,在使用原语而不是对象时,这是完全可能的,但如果没有看到更多的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');
 };