1. 程式人生 > >angular.js 本地資料儲存LocalStorage

angular.js 本地資料儲存LocalStorage

定義工廠模式 factory  本地儲存資料服務

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] || '{}');//獲取字串並解析成物件
            }

        }
    }]);

控制器 contorller 中呼叫,先注入依賴 locals  在呼叫 locals 裡面的  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");//物件
   }