问题标签 [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.
angular-broadcast - 使用 ng2-cabel 在 angularjs 4 中调用了两次广播者操作
我正在使用 ng2-cable 进行聊天并广播来自 Rails 中服务器的任何操作
AngularJs
--> 在 app.component.ts 中
从' ng2-cable '导入{Ng2Cable,Broadcaster} ;
--> 用于连接
私有 ng2cable:Ng2Cable,
this.ng2cable.subscribe(environment.apiEndpoint+"/cable", 'ChatChannel',{room: this.currentUser.id});
--> 从服务器读取通知
从“ng2-cable”导入{广播公司};
私人广播公司:广播公司,
this.broadcaster.on('ExpertQuestionList').subscribe(message => { console.log("加载后返回此页面时调用了多次") } );
这里,ExpertQuestionList 是一个动作名称。它将使用动作电缆从 Rails 服务器广播。
-------------------------------------------------- -------------------------------------------------- --------------------
ExpertQuestionList 从服务器广播一次,我可以在我的 rails 日志中看到,但在 console.log 中调用了两次。两次意味着它重复多次,与您将在此页面上出现的次数相同。如此简单的重新初始化很多次。我想要重置或销毁操作(this.broadcaster.on('ExpertQuestionList'))
javascript - $broadcast 仅在使用有限字符时触发
尝试使用 Angular $broadcast
,当我测试它并使用字符串“hi”,并在兄弟控制器中观察它时,它工作正常,如下所示:
一旦我将字符串更改为其他任何内容,例如phaseChange
,它就无法调用$on
第二个控制器中的方法。不知道为什么。我试图包装$broadcast
一个$timeout
方法,但这并没有解决问题。
问题
我是否$broadcast
以错误的方式使用或我的语法不正确?
angularjs - 如何在事件广播的超时延迟内停止间隔?
在我的 Angular 1.5 中,用户登录他们的帐户后,我有各种指令在超时内开始他们的间隔。例如,我UserEmailNotificationsCtrl
在检查新电子邮件的指令之一中有这个:
如果用户注销,我会广播一个事件,以便停止上述间隔以防止 400 错误请求:
以上工作正常。但是,这是我遇到的问题:
如果以防万一,用户在间隔检查开始之前注销,因为它被包裹在 20 秒后开始的超时中,则event:stop-intervals
广播被错过。在这些情况下,间隔在设置的超时之后开始,并且不知道event:stop-intervals
在此之前被触发以停止间隔。
我的问题是:如何event:stop-intervals
在指令中开始间隔之前检查广播是否被触发?event:stop-intervals
(或)如果在触发超时的间隔检查之前触发了指令,该指令如何阻止间隔开始?
angularjs - 无法访问角度指令的隔离范围
第一指令:
第二条指令:
父控制器:
所以,问题是当我尝试从 html 模板调用函数时myDirectiveTwo
,处于活动状态的控制器是父控制器,而不是孤立的控制器。
可能与我正在使用的广播有关吗?
html代码:
奇怪的是我得到了数据值并且 ng-repeat 在加载时工作正常。但是,当我单击按钮时,它什么也没做。如果我在父控制器中添加相同的功能,它会被调用.. :( 如何使隔离范围控制器再次活动..?
angular - 在 angularjs 控制器中侦听来自 angular 4 组件的事件
我正在开发一个混合角度应用程序。我需要在 angularjs 控制器中监听一个事件(可能是一个 observable ),并且该事件将由 angular 4 组件触发。我们有什么办法可以真正做到这一点?