javascript - 没有反射(reflect)我在 angularjs 中 `$rootScope` 的更改

标签 javascript angularjs rootscope

我在尝试在 $rootScope 中反射(reflect)我的更改时遇到问题。据我了解(请注意,我对 Angular 还很陌生),$rootScope 在整个 Controller 中都是可见的。我想要做的是更新 $rootScope 中的值,并尝试在我的 html 页面中读取该值。

问题是,即使更改应用于 $rootScope ,它也没有反射(reflect)在我的 View 中。下面是代码

我有一个 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();

但是设置 $rootScope.logged = true 并不会使 View 可见。我的问题是

1 - 我可能出了什么问题?

2 - 做这样的事情最 Angular 方式是什么?

最佳答案

无需在 html 模板中使用 {{

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

这就够了。

关于javascript - 没有反射(reflect)我在 angularjs 中 `$rootScope` 的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271162/

相关文章:

jquery - 由于选择元素的大小,Bootstrap 选择选项被隐藏

angularjs - Angular - 我可以广播来自 Angular 应用程序外部的消息吗?

javascript - $rootScope 未在简单的 AngularJs 路由示例中呈现

javascript - AngularJS 组件之间的绑定(bind)不起作用

javascript - 将数组值放入不同的 html 文本框中

javascript - 单击 HTML 站点中的导航栏元素外部时如何关闭打开的折叠导航栏?

javascript - openlayers3移动功能,3.14以上版本不起作用

javascript - 如何更改范围 slider 的轨道颜色?

html - bootstrap css 重复元素随机跳过

javascript - 除了 main.js 之外,meteor 应用程序中没有急切加载的文件