如何在会话或本地角度存储sata ..?

时间:2014-08-02 02:38:12

标签: javascript jquery angularjs

我知道如何在session / localstorage中存储数据.. window.localstorage(key, value)但是现在我正在使用angular你能告诉我如何在会话或本地或表sqlite中以角度存储数据。 我做了一个演示,我得到了val但没有商店。

http://plnkr.co/edit/7DaMFWLpFh5lWMHemuQ1?p=preview

// Code goes here

/**
 * Created with JetBrains WebStorm.
 * User: naveenkumar
 * Date: 02/08/14
 * Time: 6:29 AM
 * To change this template use File | Settings | File Templates.
 */
var app =angular.module('appstart',['ngRoute']);

app.config(function($routeProvider) {
  //  $locationProvider.html5Mode(true);
    $routeProvider
        .when('/home', {
            templateUrl: 'tem.html',
            controller: 'ctrl'
        })


        .otherwise({ redirectTo: '/home' });
});

app.controller("ctrl",function($scope){
    var information={};

$scope.login =function(){
    var email=$('#inputEmail').val();
    var password=$('#inputPassword').val();
    alert(email +":"+password)
    information.email= email;
    information.password=password;
    alert(JSON.stringify(information))

    }


})

1 个答案:

答案 0 :(得分:2)

localStorage而言,最佳做法是将“外部世界”(数据库/模型)与AngularJS Service进行交互。
This JSFiddle应该帮助你。我从Plunkr中删除了所有其他东西,以显示重要的东西。

我们使用服务以使代码模块化并且不属于任何一个控制器。除此之外,它没什么特别的。本质上是一个全球类。

代码如下。我们以类似的方式声明服务。它变成了一个单例,然后我们可以进入任何控制器,就像我对你的“ctrl”控制器所做的那样。

app.service("LocalStorService", function(){
    this.store = function(key, value){
       window.localStorage.setItem(key, value);
    };        
    this.retrieve = function(key) {
      return window.localStorage.getItem(key);   
    }
});

然后在控制器....

app.controller("ctrl", function ($scope, LocalStorService) { ...

如果我将此正确地理解为“代码组织”问题,那么这就是你需要做的。