问题标签 [angularjs-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 投票
5 回答
29380 浏览

javascript - Is binding objects to angular's $rootScope in a service bad?

In angular, I have an object that will be exposed across my application via a service.

Some of the fields on that object are dynamic, and will be updated as normal by bindings in the controllers that use the service. But some of the fields are computed properties, that depend on the other fields, and need to be dynamically updated.

Here's a simple example (which is working on jsbin here). My service model exposes fields a, b and c where c is calculated from a + B in calcC(). Note, in my real application the calculations are a lot more complex, but the essence is here.

The only way I can think to get this to work, is to bind my service model to the $rootScope, and then use $rootScope.$watch to watch for any of the controllers changing a or b and when they do, recalculating c. But that seems ugly. Is there a better way of doing this?


A second concern is performance. In my full application a and b are big lists of objects, which get aggregated down to c. This means that the $rootScope.$watch functions will be doing a lot of deep array checking, which sounds like it will hurt performance.

I have this all working with an evented approach in BackBone, which cuts down the recalculation as much as possible, but angular doesn't seem to play well with an evented approach. Any thoughts on that would be great too.


Here's the example application.

0 投票
2 回答
2627 浏览

javascript - 重置范围变量 - Angular.js

我想确保isSearchVisible范围变量总是false在每次页面更改时开始。我应该如何实施?

在每个页面中,根范围变量isSearchVisiblefalse因为MainController.

当您进入配置文件页面 ( ProfileController) 时,本地范围变量变为true,这很好。

但是当您离开此页面时,根范围变量也更改为true. $rootScope变量和变量之间没有分离$scope

除非控制器直接更改它,否则我应该如何在每次页面更改时重置isSearchVisiblefalse

0 投票
2 回答
2174 浏览

angularjs - AngularJS - 从运行方法访问 ng-init 变量

1)我在 ng-init 中初始化了变量,例如-

2)我想从 .run 方法访问它。例如 -

在我尝试过但没有工作的情况下 -

0 投票
3 回答
11274 浏览

angularjs - 如何重置 $rootScope?

用户注销后,我需要清理我的 $rootScope。我试过$rootScope.$destroy()了,但这并没有奏效。有没有办法遍历 $rootScope 中的所有值并删除它们或简单地重置它的方法?

0 投票
1 回答
203 浏览

angularjs - 即使根范围具有值,范围值也不会更新

我有观点

鉴于我的控制器为

模型为

在某些元素上单击我正在调用 setInputValue 函数:

显示视图是

$rootScope 中的值未更新到视图的位置。如何解决这个问题。

0 投票
1 回答
8398 浏览

javascript - 在 AngularJS 中删除一个对象

我在 AngularJS 中有一个 $rootScope 对象,如下所示:

我定义了一个将对象添加到 $rootScope.stuff 的函数,它工作正常:

但是,我也有一个尝试删除的功能(基于https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete),但它不起作用:

当我检查$rootScope.stuff[id]时,我得到了我想要删除的正确对象。我也尝试过拼接,但这会引发我认为的错误。有什么建议么?谢谢。

0 投票
3 回答
627 浏览

javascript - 如何访问不同页面控制器中的更新值?

我在不同页面控制器之间获取更新值时遇到问题,情况如下。

page1.html

page2.html

应用程序.js

结果

预期结果

如何实现这种情况?

我尝试使用$broadcast本教程中的单独页面控制器:小提琴

0 投票
1 回答
231 浏览

angularjs - Polymer.dart 中是否有类似于 angular $rootScope 的东西?

我知道在 Angular 中存在一个叫做 $rootScope 的东西。这一个包含将由所有控制器共享的变量。我正在为 Polymer 寻找类似的东西,这样我就不需要总是将父变量作为属性传递。

现在我正在做类似的事情:

索引html代码:

父html代码:

父飞镖代码:

子html代码:

儿童飞镖代码:

换句话说,我将属性从最高父级一直向下传递到最低的子级。我认为这不好,我想用类似于 $rootScope 的角度来做。

0 投票
0 回答
1919 浏览

angularjs - 错误:[$rootScope:inprog] $apply 已经在进行中

我只是尝试'ngTagsInput'在我的角度应用程序中使用,并且应用程序中的标签运行良好,但同时它在控制台中抛出错误。它不影响我的 UI 流程,但是是的错误正在控制台中记录。为什么原因和解决方案这个错误。错误:

这是为浏览器下载我的文件的顺序

和我的看法

我的控制器

在我使用 scope.watch/.eval/.apply 的地方有自定义指令

0 投票
0 回答
514 浏览

angularjs - ionic app.run deviceready rootscoop 变量不工作

在我的 ionic 应用程序中,我有 app.run 函数和里面的设备就绪函数:

当我在下面的 run 函数中声明一个 rootScope 变量时,该变量在所有控制器中都可用。

当我将 rootScope 变量放在 deviceready 函数中时,rootScope 变量不再可用

如何使 deviceready 函数中的 rootscope 变量可用于我的所有控制器?