问题标签 [angular-broadcast]

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 回答
18447 浏览

javascript - Angularjs $broadcast 一次,$on 两次

它从 rootScope 发送一次 $broadcast,但侦听器 ($on) 被调用两次。

侦听器位于控制器中,它使用$rootScope.$on而不是$scope.$on. 有人遇到过这个问题吗?

编辑

根范围:

其他控制器:

0 投票
3 回答
627 浏览

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

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

page1.html

page2.html

应用程序.js

结果

预期结果

如何实现这种情况?

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

0 投票
1 回答
79 浏览

javascript - 从另一个控制器广播功能不起作用,但仅在生产中

这可能是迄今为止我使用 AngularJS 遇到的最奇怪的问题。我们的网站由不同的路线构成。每条路由都有自己的视图和控制器,还有一个父控制器叫做 MainCtrl。在我的 index.html 中,我导入了我拥有的所有控制器。在某些时候,我正在重新路由到另一个子路由(让我们将其称为 /iframe,并以 IframeCtrl 作为控制器),然后,当我尝试将事件名称从 MainCtrl 向下分派给所有子路由(广播函数在 IframeCtrl 中)时,什么都没有发生(本地没问题,问题只在生产中)。我不确定问题是否在于,在我更改路线后,尚未加载 IframeCtrl 中的函数,但我确实在 index.html 中加载了它,所以我认为这已经足够了,正如我所说,它确实有效本地。

这是来自 MainCtrl 的代码:

这是我工厂在应用程序中的代码。

这是 IframeCtrl 中的代码

任何想法如何去做?

谢谢你,米拉

0 投票
1 回答
776 浏览

javascript - 在 AngularJS 中加载子侦听器后广播父事件

我有三个控制器——Parent and Child1 和 Child2。Child1 和 Child2 是父控制器内的选项卡

父控制器正在调用该服务以获取一些数据,然后广播该事件。孩子监听那个事件,获取数据并执行必要的事情。

但是有时当父事件得到广播时,我的子监听器没有注册(所以子监听器将不起作用)。使用超时功能来延迟事件广播,但它会在缓慢的互联网连接上搞砸。有没有办法确保在我的孩子听众注册后我的广播收听总是被启动。以下是截至目前的以下代码

我是 angularJS 的新手,在网上找不到合适的解决方案。请指导。提前致谢 :)

0 投票
1 回答
90 浏览

javascript - 角度广播未在第二次通话时更新

我有一个调用服务的控制器。在服务中,我执行了一个 $rootScope.$broadcast ,它在页面加载时完美运行。但是,当我再次调用该服务时,似乎没有调用 $rootScope.$broadcast。

控制器:

服务:

指示:

HTML:

index.html页面加载MyController控制器。

在页面加载时,被$broadcast调用的 fromthis.inititate被成功调用并{{myValue}}显示为 1。

但是,单击我的按钮ng-click="Next()"时,尽管再次调用该服务,但{{myValue}}仍显示为 1,而不是 1 + 1 = 2。

有什么想法吗?

0 投票
2 回答
734 浏览

javascript - $broadcast 异步工作,需要同步

我有一个控制器,它有许多 $rootScope.$broadcast 更新指令的内容。

第一个 $rootScope.$broadcast 正在清除所有内容/数据,而另一个则填充它。

注意:标头是从我的 $stateProvider 解析的,例如:

指示:

我遇到的问题是,在页面加载时,似乎在 clear 完成之前调用了 $broadcast 的 title 和 total 。


更新:

Plunker:http ://plnkr.co/edit/o7wEFyIGh0284ZAc9VnS?p=preview

无论何时在 home.html 上,该指令都会隐藏 - 正确。无论何时在 cart.html 上,该指令都会显示 - 正确。

要查看问题,请单击购物车...单击按钮以增加计数器。然后返回主页,然后返回购物车...计数器不会重置为 0

0 投票
1 回答
412 浏览

angularjs - 无法让 rootscope 在控制器中工作

所以我试图将一个事件从一个控制器广播到另一个控制器。但我不断收到此错误

我的控制器看起来像这样。

我在做一些破旧的事吗?

一如既往地感谢您的时间。

0 投票
2 回答
568 浏览

angularjs - 如何跟踪 $scope.$broadcast 上的事件?

我正在使用角度计时器,我只是有点困惑如何跟踪它的事件。例如,我想在时间到后做某事,但我在控制台日志上看不到任何事件。

控制台是空的。

https://github.com/siddii/angular-timer/blob/master/examples/angularjs-add-countdown-seconds.html

0 投票
0 回答
244 浏览

c# - 父控制器在刷新页面时不会为子控制器触发 $broadcast 事件

在父控制器中,我以秒为单位获取计时器值并将其显示在控制器为“ParentController”的索引页面上。

我使用 ui-view 指令添加了一个局部视图。部分视图的控制器是“子控制器”。在我们的例子中,父控制器 $broadcast 请求发送定时器值子控制器。

在第一次尝试它工作。但是当您刷新页面时,它不会向子控制器广播计时器值。

0 投票
1 回答
400 浏览

angularjs - 查看未更新 - Angular

索引文件中的视图未更新。这是代码片段。

指数:

索引控制器:

和我的登录控制器:

我面临的问题是,当登录控制器广播的范围时,它不显示并包括我的部分页眉导航和页脚文件。

我在这里错过了什么吗?