通过 ngStorage AngularJS 从另一个库保存的 sessionStorage 中读取
Read from sessionStorage by ngStorage AngularJS that was saved by another library
在浏览器会话存储中我们有
`mykey` `myvalue`
其中 mykey 在 Session Storage 部分的 Key 列中
和
其中 myvalue 在 Session Storage 部分的 Value 列中
一切都清楚了。
ngStorage(一个 AngularJS 模块)在项目中实现并且工作正常 - 写入和读取由 ngStorage 写入的值。但是它存储的价值不是
mykey myvalue
但作为
ngStorage-mykey "myvalue"
(他做了两件不同的事情 - 添加前缀 ngStorage-
并用“”包装我的值)。
问题是:如何通过另一个(不是 AngularJS 模块)保存的 ngStorage 读取会话值?
因此,$sessionStorage.mykey
根本不会获得 myvalue
不是由 ngStorage 保存的内容。
可以不使用 hack 来更改前缀 ngStorage- 和任何其他内容,但另一个问题是“”包装器。
那么,关于如何通过 ngStorage 读取不是由 ngStorage 设置的值(这意味着没有任何前缀 prefix 并且没有被 "" 包裹)的任何想法?
同样,默认情况下,如果您想通过 $sessionStorage.message = "Hello World" 保存 Hello World
文本;然后 ngStorage 将默认添加前缀(可能会更改)并将“”添加到值中,如下所示:
ngStorage-message
"Hello World"
但我需要读书
message
Hello World
知道怎么做吗?
默认情况下,ngStorage 使用的序列化器/反序列化器是 angular.toJson / angular.fromJson。这可通过提供商进行配置。
angular.toJson 会用 ".
包裹一个字符串
您可以在注入 $sessionStorageProvider 后在模块配置中执行此操作,
$sessionStorageProvider.setKeyPrefix('');
$sessionStorageProvider.setSerializer(mySerializer);
$sessionStorageProvider.setDeserializer(myDeserializer);
function mySerializer(obj) {
if(angular.isObject(obj)) {
return angular.toJson(obj);
}
return obj;
}
function myDeserializer(str) {
if(str && str.charAt(0) === '"') {
return angular.fromJson(str);
}
return str;
}
在浏览器会话存储中我们有
`mykey` `myvalue`
其中 mykey 在 Session Storage 部分的 Key 列中 和 其中 myvalue 在 Session Storage 部分的 Value 列中 一切都清楚了。
ngStorage(一个 AngularJS 模块)在项目中实现并且工作正常 - 写入和读取由 ngStorage 写入的值。但是它存储的价值不是
mykey myvalue
但作为
ngStorage-mykey "myvalue"
(他做了两件不同的事情 - 添加前缀 ngStorage-
并用“”包装我的值)。
问题是:如何通过另一个(不是 AngularJS 模块)保存的 ngStorage 读取会话值?
因此,$sessionStorage.mykey
根本不会获得 myvalue
不是由 ngStorage 保存的内容。
可以不使用 hack 来更改前缀 ngStorage- 和任何其他内容,但另一个问题是“”包装器。
那么,关于如何通过 ngStorage 读取不是由 ngStorage 设置的值(这意味着没有任何前缀 prefix 并且没有被 "" 包裹)的任何想法?
同样,默认情况下,如果您想通过 $sessionStorage.message = "Hello World" 保存 Hello World
文本;然后 ngStorage 将默认添加前缀(可能会更改)并将“”添加到值中,如下所示:
ngStorage-message
"Hello World"
但我需要读书
message
Hello World
知道怎么做吗?
默认情况下,ngStorage 使用的序列化器/反序列化器是 angular.toJson / angular.fromJson。这可通过提供商进行配置。
angular.toJson 会用 ".
包裹一个字符串您可以在注入 $sessionStorageProvider 后在模块配置中执行此操作,
$sessionStorageProvider.setKeyPrefix('');
$sessionStorageProvider.setSerializer(mySerializer);
$sessionStorageProvider.setDeserializer(myDeserializer);
function mySerializer(obj) {
if(angular.isObject(obj)) {
return angular.toJson(obj);
}
return obj;
}
function myDeserializer(str) {
if(str && str.charAt(0) === '"') {
return angular.fromJson(str);
}
return str;
}