问题标签 [rootscope]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 使用 $rootScope 在 AngularJS 中返回 json ?
json
我有这个函数返回$scope.product_owners = data
目前,我在我的所有控制器中调用这个函数,因为它在它们中使用,但我想知道是否可以调用一次。例如,使用 the$rootScope
或类似的东西。
angularjs - 设置 $rootScope 并更改其值
我想将$rootScope
变量stateSelection
值默认设置为false
.
因此,当我的应用程序运行时, will 的值$rootScope.stateSelection
是false
. 我想知道如何在应用程序初始化时设置它。
现在我将它设置在我的Auth
服务login
功能中。
当用户登录并选择一个状态时,我在一个名为 & 的控制器中调用一个方法,clickSelection()
在这个函数中我更改了$rootScope.stateSelection = true;
.
刷新页面时出现问题,值$rootScope.stateSelection
变为false
.
谢谢
javascript - AngularJS $rootScope 变量存在,但不可访问
我在我的一个模块中设置了一个 $rootScope 变量,现在想在另一个模块中访问相同的 $rootScope 变量。到目前为止,我可以看到两个模块中的变量都已正确设置,但是当我尝试访问 $rootScope 中的变量时,我只会得到未定义。
如何在不执行工厂/服务解决方法的情况下访问此变量?该变量非常简单, $rootScope 应该足以满足我的需要。我在下面放了一些通用示例代码来说明这个问题:
文件1.js
文件2.js
angularjs - 为什么 $routeChangeStart 在 AngularJS 中触发两次?
我有这个功能,当它被执行时,它被触发了两次。我看到alert(ok)
然后alert(ok)
我不知道为什么。
javascript - .run 块中 $interval 的意外行为
我有一个 Angular JS 应用程序,我想在路由成功更改时每秒执行一次全局操作。所以我创建了一个 .run() 块,在其中我 DI $interval 并在 $routeChangeSuccess 上使用 $interval。奇怪的是,每次换路后,间隔开火的速度越来越快。这是我的代码:
总而言之,“随便”控制台日志开始越来越快地触发。是因为$interval是单例,所以每次都会重新创建它吗?但是为什么不删除旧的$interval呢?
angularjs - Retain page data on refreshing the page
I am new to angular. I am using a service which gets a list of objects and displays them on the 1st page. Then based on what object was clicked, I am setting the tab header on the next page. But while I am refreshing the page the scope of the list is lost and the tab header is throwing the exception resulting the page to not display the information. Is there any way to retain the information that which object was clicked on previous screen even when refreshing the 2nd page?
angularjs - 将字符串传递给 ng-click
我真的在尝试解决这个问题,但到目前为止还没有成功。
风景:
我要做的基本上是用我从修改 rootScope 的服务发送的变量替换“action()”。
在服务中:
我想达到的目标:
但是当我尝试替换它时,ng-click 无法识别该操作。文本显示正常,但未执行操作。
知道如何从 rootScope 添加此操作以使其在 ng-click 中执行吗?
期待您的回答,谢谢!
顺便说一句,我尝试了这些选项:
1) ng-click 中的 angular.js 解析值 2) Angular JS ng-click 动作函数作为字符串
javascript - 切换元素可见性的 Angular 指令
我构建了一个指令,将 $rootScope.showContent 值更改为 true 或 false。
然后我使用 ng-show="showContent" 来隐藏或显示元素。
这种方法效果很好,但我想避免使用 $rootScope 以及使用 scope.apply() 函数。你能建议我一个更好的方法吗?
下面你会发现一些代码:
HTML
角
Jsfiddle 链接: http: //jsfiddle.net/RickyStam/AkVzz/(jsfiddle 不工作不知道为什么:P)
angularjs - 如何从 Angular 外部访问/更新 $rootScope
我的应用程序在 $rootScope 中初始化一个对象图,像这样......
...然后使用来自该对象图的数据(仅限单向绑定),就像这样...
这工作正常,但如果我随后(在页面渲染完成后)尝试更新 $rootScope 并用新对象替换原始对象,它将被忽略。我最初认为这是因为 AngularJS 保留了对原始对象的引用,即使我已经替换了它。
但是,如果我将消费 HTML 包装在控制器中,我就能够以预期的方式重复更新其范围,并且修改会正确反映在页面中。
有什么方法可以通过 $rootScope 来完成,还是只能在控制器内部完成?此外,是否有更推荐的模式来实施此类操作?具体来说,我需要一种方法来替换 AngularJS 从 AngularJS 代码外部使用的完整对象图。
提前感谢您的建议,蒂姆
编辑:正如评论中所建议的,我尝试在 $apply 中执行更改,但它没有帮助: