Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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中对“$rootScope”所做的更改_Javascript_Angularjs_Rootscope - Fatal编程技术网

Javascript 不反映我在angularjs中对“$rootScope”所做的更改

Javascript 不反映我在angularjs中对“$rootScope”所做的更改,javascript,angularjs,rootscope,Javascript,Angularjs,Rootscope,我无法在$rootScope中反映我的更改。据我所知(请注意,我对angular)非常陌生,$rootScope在控制器中可见。我试图做的是更新$rootScope中的一个值,并尝试在我的html页面中读取该值 问题是,即使更改应用于$rootScope,在我看来也没有反映出来。下面是代码 我有一个div,我想根据值显示/隐藏它 #view <div ng-hide="{{logged}}"> // this should visible only if the logged i

我无法在
$rootScope
中反映我的更改。据我所知(请注意,我对
angular
)非常陌生,
$rootScope
控制器中可见。我试图做的是更新
$rootScope
中的一个值,并尝试在我的
html
页面中读取该值

问题是,即使更改应用于
$rootScope
,在我看来也没有反映出来。下面是代码

我有一个
div
,我想根据值显示/隐藏它

#view
<div ng-hide="{{logged}}">
  // this should visible only if the logged is true
</div>  



#controller1 I set the rootscope to false
$rootScope.logged = false; // this makes the view hidden


#controller2 I set the rootScope to true
$rootScope.logged = true; 
$rootScope.$apply();
#查看
//仅当记录的值为真时,此选项才可见
#controller1我将rootscope设置为false
$rootScope.logged=false;//这会使视图隐藏
#controller2我将rootScope设置为true
$rootScope.logged=true;
$rootScope.$apply();
但是使
$rootScope.logged=true
不会使视图可见。我的问题是

1-我可能出了什么问题


2-做这件事最有角度的方法是什么?

无需在html模板中使用
{

#view
<div ng-hide="logged">
  // this should visible only if the logged is true
</div>
#查看
//仅当记录的值为真时,此选项才可见

这就足够了。

ng hide=“logged”
?@NaeemShaikh,谢谢你做了这个把戏:)谢谢它工作了,我可以删除
$rootScope。$apply()
,现在一切都好了:)如果你在角度上下文之外更新,你只需要使用$apply(如果我的知识正确的话)例如jquery,如果你在一个范围对象中,你不需要调用apply