问题标签 [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 投票
2 回答
406 浏览

javascript - 在 Controller 中访问 $rootScope 方法

这本 ng-book JSBin中,确实由于原型继承而$scope.$watch()解析。$rootScope.$watch()

我们可以$rootScope在控制器内部显式注入,以便与控制器内部$scope相同$rootScope,而无需通过原型继承吗?

在此处复制代码以供参考:

0 投票
5 回答
155422 浏览

angularjs - 为什么我们在 AngularJS 中使用 $rootScope.$broadcast?

试图找到 AngularJS 的一些基本信息$rootScope.$broadcast,但是 AngularJS 文档并没有多大帮助。简而言之,我们为什么要使用它?

此外,在 John Papa 的Hot Towel模板中,公共模块中有一个自定义函数,名为$broadcast

我不明白这是在做什么。所以这里有几个基本问​​题:

1)$rootScope.$broadcast做什么?

$rootScope.$broadcast2)和有什么区别$rootScope.$broadcast.apply

0 投票
2 回答
1705 浏览

angularjs - 广播根范围更改

我正在尝试编写一个脚本来访问 rootscope 并从开发工具更改变量值。我可以获得范围和根范围,但我的更改没有显示在我的绑定中。但是,如果我使用绑定输入,一切都很好。

例子:

互相更新很好但是

更新控制器,但对绑定没有影响。我使用 === 比较了我的原始控制器和我的控制台控制器,它们是相等的。

因此,根据我阅读的内容,我需要广播或发出我已经更改了范围,但是我似乎无法弄清楚要广播什么,或者我是否正确广播。

广播代码尝试:

另外应该注意的是,更改输入将更改跨度,但不会更改我的根范围副本。

0 投票
1 回答
11812 浏览

angularjs - 快速连续调用 $rootScope.$apply() 时 $digest 已在进行中

所以我有一个 AngularJS 服务来监听一些事件。在处理这些事件时,我需要调用不同的控制器并最终加载一个新视图。在一个事件处理程序中,我使用 $location.path() 然后调用 $rootScope.apply() 来触发到控制器的路由。这适用于该事件,但在其他事件中我收到以下错误:$rootScope:inprog Action Already In Progress. 我猜它在第一种情况下有效,因为 $rootScope.apply() 是从侦听器函数内的另一个回调函数调用的,而其他处理程序试图仅从事件侦听器函数调用它。

如何让它适用于所有事件处理程序?

plnkr 示例

0 投票
1 回答
2252 浏览

angularjs - $rootscope 值在控制器中未定义

我在运行中定义了一个 $rootscope 对象,如下所示。

$rootScope.user 持有 userId、userName、userEmail 等...

后来,在控制器中,我想使用 $rootScope.user 中的一些数据,但它未定义!

让我发疯的是,当 myCtrl 在 chrome javascript 控制台中显示 $rootScope 时,我可以展开对象并查看用户对象!!!

但是第二个 console.log 只是未定义。请帮忙!

0 投票
0 回答
229 浏览

angularjs - 从 javascript 更新 angularJS 变量

我正在使用一个外部自动完成函数,它返回一个对象(不是文本输入中的内容),我想以角度使用这个对象。现在我正在使用 rootScope 来做到这一点:

这很好用,但我想知道是否有一种更简洁的方法可以从外部与 angular 交互(如 set 函数)。我对角度很陌生,所以如果这是一个愚蠢的问题,我提前道歉。

谢谢!

编辑:这是我的控制器:

目前它没有做太多,只是使用 url 中的查询参数并在自动完成更改变量时更新它们

0 投票
0 回答
216 浏览

angularjs - AngularJS $route 和 $rootScope 不是对象

$rootScope 和 $route 似乎发生了变化。我不知道如何真正解释它,但希望下面的代码可以解决问题。关于为什么会发生这种情况或我如何解决它的任何建议都会非常有帮助。

控制器 #1:

输出#1:

控制器 #2:

输出#2:

0 投票
2 回答
1213 浏览

angularjs - $scope 无法在 $stateChangeStart 上设置属性

嗨,我是 angularjs 的新手,我正在使用 $rootScope 来更改 $stateChangeSuccess 上的 $scope 变量。问题是,我收到一条错误消息,上面写着“TypeError:无法设置属性 'show' of null”。这是我的代码片段

和html ...

基本上,每当我退出子状态时,我都想取消隐藏父视图。$scope 变量有一个值并且代码有效,只是我收到了这个错误消息。有关如何解决此错误的任何想法?

谢谢

0 投票
0 回答
691 浏览

angularjs - AngularJS ng-repeat 在模型更改后不刷新 $rootScope 错误

你好 AngularJS 的成员,我是 Angular 的新手,我面临这个问题,我的 ng-repeat 在模型更改后不会刷新页面,即使我已经在发布后手动重新加载模型。我创建的所有功能都可以完美运行,因为我可以在数据库端存储数据/删除,除非我手动单击 F5,否则它不会在页面刷新时执行。这是我在 js 方面的做法。

我已经为不同的页面处理创建了单独的模块,然后将它注入到这样的根应用程序中。

这就是我的 HTML 布局的样子。

不时执行删除操作时,它会不断向我显示此错误,从而冻结整个操作,但数据库端确实发生了更改。

我做错了什么?

0 投票
1 回答
1331 浏览

node.js - 在量角器测试期间使用 $rootScope

我正在尝试进行 End2End 测试,我需要操作来自服务器的数据(模拟它)......有没有办法在 Protractor 中访问 $rootScope 以便我可以告诉服务器(节点)我正在寻找什么数据完成测试?我会在量角器中注入 rootScope 作为“之前”,然后当我需要操作数据时,我可以。

请告知如何执行此操作或是否有其他方法可以执行此操作。