Я получаю обновления от Backend через соединения сокетов. Я хочу автоматически обновлять Frontend с помощью AngularJS, используя объект данных для данных, которые я получил от Backend.Как сохранить шаблон AngularJS в процессе обновления сокетов?
Что у меня?
Шаблон:
Status: {{unit.getStatus()}}
Контроллер 1:
function ($scope, unitFactory) {
// register to unit factory to get the updates and do
// $scope.unit = data.getUnit();
}
Контроллер 2:
function ($scope, unitFactory) {
// register to unit factory to get the updates and do
// $scope.unit = data.getUnit();
// $scope.foo = data.getFoo();
}
Услуги:
function(requestFactory) {
var unit = {},
foo = {};
Sockets.socket('unit', function (response) {
unit = new Unit(response['data']);
foo = new Foo(response['foo']);
// This is the data object which has to be send to the controllers
var Data = {
getUnit: function() {
return unit;
},
getFoo: function() {
return foo;
}
// some more functions...
}
});
}
Розетки:
channel.on('data', function (event) {
try {
event = JSON.parse(event);
// successCallback is what is given as second parameter in the `Service`.
$rootScope.$apply(successCallback(event));
} catch (e) {
console.log('Error: ' + e);
}
});
Как это должно работать вместе?
- обновление Оправа приходит и получает обрабатываются
Sockets
объекта Sockets
вызова функции, которая зарегистрирована вService
- Функция обратного вызова в
Service
процесса данные - НЕДОСТАЮЩИХ Обработанные данные, обернутые в объект, должны быть доставлены в контроллеры
- MISSING Контроллеры могут делать все, что они хотят делать с данными, когда есть новое обновление.
- Шаблон обновляется автоматически.
Может ли кто-нибудь помочь мне с MISSING запчасти? Я пробовал много разных подходов, но каждый раз бегал до тупиков.
Вы пытались использовать событие, а не обратный вызов? – sdfacre