gpt4 book ai didi

javascript - 通知 AngularJS Controller 有关来自外部的事件

转载 作者:行者123 更新时间:2023-11-29 10:44:39 27 4
gpt4 key购买 nike

Angular 的新手,如果这个问题很愚蠢,我深表歉意。

所以我正在制作一个应用程序,其中一部分可以说是在 Angular 的“范围”之外,这部分负责接收传入消息 (xmpp)

然后是必须通知传入消息的 Angular Controller 。我所做的是一个丑陋的解决方法,但它有效:

view.html:

<button ng-click="refreshLayout()" id="refreshLayoutButton" style="display:none"></button>

controllers.js:

.controller('chatCtrl', function($scope) {
$scope.refreshLayout = function() { ... }
})

outside.js:

if(incomingMessage) {
$("#refreshLayoutButton").click();
// append the message to view.html
}

有没有办法排除 jQuery?我想从outside.js发送消息到chatCtrl,然后再发送到view.html

只需通知该事件,以便它可以调用 $scope.refreshLayout(从技术上讲,我可以使用不使用 Angular 的 jQuery 将传入消息直接附加到 view.html,但第一个选项仍然更可取)

最佳答案

您应该在有传入消息时触发事件。

在 outside.js 中,当有传入消息时使用 $broadcast

在 controller.js 中使用 $on 等待该事件发生。

这是一个简单的例子:http://jsfiddle.net/simpulton/XqDxG/

关于javascript - 通知 AngularJS Controller 有关来自外部的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21961091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com