我为我的应用程序使用ngstorage,卫星角度模块。但我对存储前缀配置有疑问。
对于ngstorage:
- 它将数据保存为:
NGSTORAGE_PREFIXkey = value
- 默认前缀是:'ngStorage-'
对于卫星器:
- 它将数据保存为:
SATELLIZER_PREFIX_key = value
- 默认前缀是:'satellizer',键前有附加下划线 (_)
我们知道,在$auth.login()
令牌被保存到 localStorage之后satellizer_token = SOME_TOKEN
我想使用 ngstorage 进行 localStorage 的所有操作,特别是我需要访问satellizer_token
之前保存到 localStorage 的内容。为此,我需要为两个模块设置相同的前缀,如下面的代码所示
应用程序.js
var app = angular.module('App', [
'satellizer',
'ngStorage'
])
.config(function($authProvider, $localStorageProvider) {
// Local Storage config
$localStorageProvider.setKeyPrefix('myprefix_');
// Auth Provider config
$authProvider.tokenPrefix = 'myprefix_';
});
控制器.js
app.controller('MyCtrl', function($scope, $localStorage) {
// Storage
$scope.$storage = $localStorage;
// Set some data
$scope.$storage.mykey = myvalue;
// other code...
});
视图.js
<div ng-controller="MyCtrl">
{{$storage.mykey}}
{{$storage._token}}
<div>
$auth.login()
视图编译好后,显示$storage.mykey
值(即myvalue),但没有$storage._token
。但是重新加载页面后,视图根本没有编译,并显示
{{$storage.mykey}}
{{$storage._token}}
似乎有些冲突。
你对这个问题有什么解决方案?谢谢。