exi*_*onX 5 javascript session-storage web-storage node.js angularjs
我有一些来自不同控制器的数据,这些数据使用https://github.com/fredricrylander/angular-webstorage存储在 sessionStorga 中。数据存储正常并且在当前会话中可用。我面临的问题是制作一个控制器来观察 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);
}
]);
Run Code Online (Sandbox Code Playgroud)
我只得到一次 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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5172 次 |
| 最近记录: |