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