$cookie获取的数据不是Map而是String
$cookie gets data not as Map but as String
这是我的Javascript。
app.controller('RegisterCtrl', function($scope, $cookies) {
$scope.registerInfo = {};
if($cookies.registerInfo){
angular.forEach($cookies.registerInfo, function(value, key) {
$scope.registerInfo[key] = value;
});
}
$scope.preserve = function() {
$cookies.registerInfo = new Map();
angular.forEach($scope.registerInfo, function(value, key) {
$cookies.registerInfo.set(key, value);
});
};
我已经设置了包含下面代码的HTML。
<input type="number" ng-model="registerInfo.lunch_budget_from">
<input type="number" ng-model="registerInfo.lunch_budget_to">
<button ng-click="preserve();">
我想做的是将数据保存为Map on cookie,但'$cookies。registerInfo'被保存为字符串,我无法正确获取值…
cookie总是字符串,而不是对象,如果你想在cookie中存储对象,你需要序列化/反序列化对象:
app.controller('RegisterCtrl', function($scope, $cookies) {
$scope.registerInfo = {};
if($cookies.registerInfo){
$scope.registerInfo = JSON.parse($cookies.registerInfo);
}
$scope.preserve = function() {
var registerInfo = new Map();
angular.forEach($scope.registerInfo, function(value, key) {
registerInfo.set(key, value);
});
$cookies.registerInfo = JSON.stringify(registerInfo);
};
唯一的约束是,cookie的长度不能超过1K字节,包括名称和值。您可能会寻找localStorage,它还使您能够不序列化/反序列化地存储对象
重要提示:在测试之前,可能需要删除旧的cookie
您是否尝试过使用get()方法
而不是使用点表示法获取值var registerInfo = $cookies.get('registerInfo');
关于$cookies服务的更多信息
https://docs.angularjs.org/api/ngCookies/service/美元饼干
相关文章:
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- 使用map来检查是否为真'不起作用
- 回调函数中传递参数的困难(Google Map API Markers)
- 使用API在我的网站Google-Map上显示搜索地址的纬度和经度
- How to declare a Map containing certain properties with flow
- Jslint 错误:需要条件表达式,而是看到分配
- 如何将i18n.map转换为json对象
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- 节点中的Map Reduce
- 用Jquery map和moment js制作一个简单的时间线
- 谷歌地图API v3:Initial View is Fine,but Gray Box with No Map if
- HTML 标记未在 AngularJS ckEditor 中应用,而是在 Ediator 中显示 HTML 元素标记代码
- _.map在返回时覆盖值
- 鉴于 for..在构造中,库提供的函数(如 jQuery.map() 或 _.each())有什么用
- 为什么可以't我用Set对象调用Array.prototype.map
- 在.map函数中使用react道具
- 将对象从另一个不可变的Map分配给Map是否意味着深度克隆
- 在Immutable js-Map中执行嵌套更新
- $cookie获取的数据不是Map而是String