重新加载页面时从变量中删除数据

时间:2017-04-20 06:45:44

标签: javascript angularjs laravel

我在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;
}

现在,我想全局存储通知变量。所以当我重新加载页面时,它不会影响该变量,也可以在另一个浏览器中显示。

那我该怎么办呢?

2 个答案:

答案 0 :(得分:0)

您可以将变量保存在浏览器的本地存储中。所以它不会在刷新时被删除。但是您无法从其他浏览器获得该功能,因为所有浏览器都会根据域维护自己的本地存储副本。如果是这种情况,您将不得不开发一些机制来从服务器端获取通知。

答案 1 :(得分:0)

localStorage将是完美的。 将推送器数据设置为localStorage。现在,每当您重新加载页面时,都会从localStorage获取存储的数据。

Here您可以找到有关localStorage的更多信息。