如何在angularjs中使用ngStorage

访问 https://github.com/gsklee/ngStorage.

我的代码有2个部分,在partial1我有3个输入框,输入的数据是’abc’,’pqr’,’xyz’,点击按钮我想重定向到partial2,其中输入框填充了以下内容在控制器’abcpqr’,’abxy’中计算的详细信息.

两个部分都使用localStorage [ngStorage],并且在控制器中这些值得到计算,并在点击按钮[ng-click =“functionName()”]时被推送到partial2.该函数具有执行计算的逻辑.这该怎么做?

在应用程序中我创建了两个部分中的20个这样的字段,所以我不想传递值而是将它们存储在localStorage中并从那里访问.

解决方法

假设您在partial1中尝试捕获的所有字段都具有ng-model属性,如下所示.

部分-1

<input type='text' ng-model='pageData.field1' />
<input type='text' ng-model='pageData.field2' />
<input type='text' ng-model='pageData.field3' />

app.js

var myApp = angular.module('app',['ngStorage']);

    myApp.controller('Ctrl1',function($scope,$localStorage){

        $scope.pageData = {};

        $scope.handleClick = function(){
           $localStorage.prevPageData = $scope.pageData; 
        };

    });

    myApp.controller('Ctrl2',$localStorage){

        $scope.pageData = $localStorage.prevPageData;

    });

部分-2

<p>{{pageData.field1}}</p> 
<p>{{pageData.field2}}</p> 
<p>{{pageData.field3}}</p>

另一种方法

但是,如果您只想将第1页中的一个控制器中的数据发送到第2页中的另一个控制器,您也可以使用服务执行此操作.

myApp.service('dataService',function(){

   var cache;

   this.saveData = function(data){
      cache = data;
   };

   this.retrieveData = function(){
      return cache;
   };

});

在第一个控制器中注入此服务以保存页面数据并将其再次注入第二个控制器以检索保存的页面数据.

myApp.controller('Ctrl1',dataService){

   dataService.saveData($scope.pageData);

});

myApp.controller('Ctrl2',dataService){

   $scope.pageData = dataService.retrieveData();

});

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...