XMPP: AngularJs + Strophe.js
У меня есть базовый клиент XMPP, работающий на strophe.js.
При входе в систему я создаю обработчики, такие как
connect = new Strophe.Connection('http://localhost/http-bind');
...
...
connect.addHandler(on_message, null, "message", "chat");
connect.addHandler(on_presence, null, "presence");
...
...
а потом я "слушаю" тех,
function on_presence(presence) {
// handling presence
}
function on_message(presence) {
// handling presence
}
Поэтому я пытаюсь «преобразовать» его в AngularJS. Первая часть довольно проста. У меня есть контроллер, который прекрасно обрабатывает часть входа в систему:
angular.module('app').controller('loginCtrl', function($scope) {
connect = new Strophe.Connection('http://website.com/http-bind');
connect.connect(data.jid, data.password, function (status) {
if (status === Strophe.Status.CONNECTED) {
connect.addHandler(on_message, null, "message", "chat");
connect.addHandler(on_presence, null, "presence");
}
}
})
Но как мне начать слушать эти события (on_message, on_presence) в контексте angular для всех контроллеров, которые у меня есть.