繁体   English   中英

Angular js观看会话存储

[英]Angular js watch session Storage

我有一些来自不同控制器的数据,这些数据存储在sessionStorga中,使用https://github.com/fredricrylander/angular-webstorage 数据存储正常,并且在当前会话中可用。 我面临的问题是制作一个控制器来监视webstorage.session中的变化我是这样做的:

app.controller(
    'updateDataController',
    ['$scope','$http','$sce','$location','$routeParams', '$rootScope', '$document', 'webStorage', '$interval', 'md5',
        function($scope,$http,$sce,$location,$routeParams, $rootScope, $document, webStorage, $interval, md5) {

            $scope.mySessionStorage = webStorage.session;

            $scope.$watch('mySessionStorage', function (newVal, oldVal) {
                 console.log("The web storage has changed");
            }, true);

        }
    ]);

我只得到一次console.log输出。 即使我更改了webStorage.session的内容,我也没有得到任何日志。 可能是什么问题呢?

webStorage.session仅在控制器初始化时将值设置为$scope.mySessionStorage一次。 因此手表上方的代码只会触发一次。

尝试观察webStorage.session值而不是控制器中的值:

$scope.$watch(function () {
   return webStorage.session;
}, function (newVal, oldVal) {
   console.log("The web storage has changed");
}, true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM