问题标签 [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.

0 投票
4 回答
1336 浏览

json - 使用 $rootScope 在 AngularJS 中返回 json ?

json我有这个函数返回$scope.product_owners = data

目前,我在我的所有控制器中调用这个函数,因为它在它们中使用,但我想知道是否可以调用一次。例如,使用 the$rootScope或类似的东西。

0 投票
1 回答
1074 浏览

angularjs - 设置 $rootScope 并更改其值

我想将$rootScope变量stateSelection值默认设置为false.

因此,当我的应用程序运行时, will 的值$rootScope.stateSelectionfalse. 我想知道如何在应用程序初始化时设置它。

现在我将它设置在我的Auth服务login功能中。

当用户登录并选择一个状态时,我在一个名为 & 的控制器中调用一个方法,clickSelection()在这个函数中我更改了$rootScope.stateSelection = true;.

刷新页面时出现问题,值$rootScope.stateSelection变为false.

谢谢

0 投票
2 回答
6953 浏览

javascript - AngularJS $rootScope 变量存在,但不可访问

我在我的一个模块中设置了一个 $rootScope 变量,现在想在另一个模块中访问相同的 $rootScope 变量。到目前为止,我可以看到两个模块中的变量都已正确设置,但是当我尝试访问 $rootScope 中的变量时,我只会得到未定义。

如何在不执行工厂/服务解决方法的情况下访问此变量?该变量非常简单, $rootScope 应该足以满足我的需要。我在下面放了一些通用示例代码来说明这个问题:

文件1.js

文件2.js

0 投票
1 回答
1507 浏览

angularjs - 为什么 $routeChangeStart 在 AngularJS 中触发两次?

我有这个功能,当它被执行时,它被触发了两次。我看到alert(ok)然后alert(ok)我不知道为什么。

0 投票
2 回答
382 浏览

javascript - .run 块中 $interval 的意外行为

我有一个 Angular JS 应用程序,我想在路由成功更改时每秒执行一次全局操作。所以我创建了一个 .run() 块,在其中我 DI $interval 并在 $routeChangeSuccess 上使用 $interval。奇怪的是,每次换路后,间隔开火的速度越来越快。这是我的代码:

总而言之,“随便”控制台日志开始越来越快地触发。是因为$interval是单例,所以每次都会重新创建它吗?但是为什么不删除旧的$interval呢?

0 投票
4 回答
44219 浏览

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?

0 投票
1 回答
2185 浏览

angularjs - 将字符串传递给 ng-click

我真的在尝试解决这个问题,但到目前为止还没有成功。

风景:

我要做的基本上是用我从修改 rootScope 的服务发送的变量替换“action()”。

在服务中:

我想达到的目标:

但是当我尝试替换它时,ng-click 无法识别该操作。文本显示正常,但未执行操作。

知道如何从 rootScope 添加此操作以使其在 ng-click 中执行吗?

期待您的回答,谢谢!

顺便说一句,我尝试了这些选项:

1) ng-click 中的 angular.js 解析值 2) Angular JS ng-click 动作函数作为字符串

0 投票
2 回答
1064 浏览

javascript - 切换元素可见性的 Angular 指令

我构建了一个指令,将 $rootScope.showContent 值更改为 true 或 false。

然后我使用 ng-show="showContent" 来隐藏或显示元素。

这种方法效果很好,但我想避免使用 $rootScope 以及使用 scope.apply() 函数。你能建议我一个更好的方法吗?

下面你会发现一些代码:

HTML

Jsfiddle 链接: http: //jsfiddle.net/RickyStam/AkVzz/(jsfiddle 不工作不知道为什么:P)

0 投票
3 回答
58219 浏览

angularjs - 如何从 Angular 外部访问/更新 $rootScope

我的应用程序在 $rootScope 中初始化一个对象图,像这样......

...然后使用来自该对象图的数据(仅限单向绑定),就像这样...

这工作正常,但如果我随后(在页面渲染完成后)尝试更新 $rootScope 并用新对象替换原始对象,它将被忽略。我最初认为这是因为 AngularJS 保留了对原始对象的引用,即使我已经替换了它。

但是,如果我将消费 HTML 包装在控制器中,我就能够以预期的方式重复更新其范围,并且修改会正确反映在页面中。

有什么方法可以通过 $rootScope 来完成,还是只能在控制器内部完成?此外,是否有更推荐的模式来实施此类操作?具体来说,我需要一种方法来替换 AngularJS 从 AngularJS 代码外部使用的完整对象图。

提前感谢您的建议,蒂姆

编辑:正如评论中所建议的,我尝试在 $apply 中执行更改,但它没有帮助:

0 投票
1 回答
1836 浏览

angularjs - Angularjs 使用输入无线电 ngModel 设置 rootScope

谁知道为什么它不起作用?

我想在单选按钮上使用 ngModel 设置 $rootScope 值。

这是一个例子jsFiddle