Я сейчас создаю приложение типа клиент-кассир, используя локальное хранилище браузера. Я понял, как использовать локальное хранилище, но он не обновляет сторону кассира, если я дам новый заказ со стороны клиента.
app.controller('posController', function($scope,localStorageService,Data,$rootScope,$window){
console.log(localStorageService.get("placedOrder"));
$scope.orders = localStorageService.get("placedOrder");
});
app.controller("orderController",function($scope,Data,localStorageService){
var arr = localStorageService.get("placedOrder") || [];
arr.push({"name":$scope.name,
"order": $scope.order,
"time": Data.time,
"email": Data.email
});
localStorageService.get("placedOrder",arr)
console.log(Data.placedOrder);
});
поэтому posController должен обновиться, как только ordercontroller обновит localStorage.
Предполагая, что вы имеете в виду, что кассир и клиент используют разные системы, это не сработает. Локальное хранилище предназначено для браузера и не предназначено для этих типов транзакций. Вам нужно будет использовать базу данных, размещенную в сети для этого типа приложений.
Вам нужно связаться с другим контроллером, чтобы что-то изменилось, пожалуйста, обновите свои данные.
Это возможно с помощью обмена событиями, это позволяет отделить вашу логику.
Вы должны вызвать/пожарить событие, подобное этому
$rootScope.$brodcast("myevent");
И другую сторону, которую вы должны использовать, как показано ниже, для прослушивания события.
$rootScope.$on("myevent",function(){....Update your other controller data... });