我在laravel和angular js工作。在laravel中,我使用了事件广播并使用推送器通知。在角度方面,我订阅频道并接收该通知。
现在,我将推送数据存储到一个变量中并将其显示为html。但是,当我重新加载页面时,通知被删除。
Angular js:
Pusher.logToConsole = true;
var pusher = new Pusher('Pusher-key', {
cluster: 'ap2',
encrypted: true
});
var channel = pusher.subscribe('ticket-'+$login_user_id);
channel.bind('ticket-notification', function(data) {
var i = $scope.notification.length;
$scope.notification[i] = {"id":data.ticket.id,"subject":data.ticket.subject};
$scope.total_notification = $scope.notification.length;
console.log($scope.total_notification);
});
this.update_notification = function(notification_id,index) {
$scope.notification.splice(index,1);
$scope.total_notification = $scope.notification.length;
}
现在,我想全局存储通知变量。所以当我重新加载页面时,它不会影响该变量,也可以在另一个浏览器中显示。
那我该怎么办呢?
答案 0 :(得分:0)
您可以将变量保存在浏览器的本地存储中。所以它不会在刷新时被删除。但是您无法从其他浏览器获得该功能,因为所有浏览器都会根据域维护自己的本地存储副本。如果是这种情况,您将不得不开发一些机制来从服务器端获取通知。
答案 1 :(得分:0)
localStorage将是完美的。 将推送器数据设置为localStorage。现在,每当您重新加载页面时,都会从localStorage获取存储的数据。
Here您可以找到有关localStorage的更多信息。