它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

angularjs 本地数据存储LocalStorage

Posted on 2017-07-10 10:48  陈达辉  阅读(231)  评论(0编辑  收藏  举报

1、定义服务

//=========本地存储数据服务============
    app.factory('locals', ['$window', function ($window) {
        return {        //存储单个属性
            set: function (key, value) {
                $window.localStorage[key] = value;
            },        //读取单个属性
            get: function (key, defaultValue) {
                return $window.localStorage[key] || defaultValue;
            },        //存储对象,以JSON格式存储
            setObject: function (key, value) {
                $window.localStorage[key] = JSON.stringify(value);//将对象以字符串保存
            },        //读取对象
            getObject: function (key) {
                return JSON.parse($window.localStorage[key] || '{}');//获取字符串并解析成对象
            }

        }
    }]);

2、controller中调用: 
先注入服务,再set get

app.controller('supplyAddCtrl', function ($scope, $http, $location, locals, $timeout, $compile) {

   //
     locals.set("firstpos", firstpos);//字符串
     locals.setObject("secondpos", secondpos);//对象

   //
    locals.get("firstpos");
    locals.getObject("secondpos");
   }