错误:sessionStorage中的[$ injector:unpr]

时间:2017-03-16 05:06:38

标签: javascript angularjs

我正在尝试使用sessionStorage存储表单中的值。但这是错误,

错误:[$ injector:unpr] http://errors.angularjs.org/1.2.25/$injector/unpr?p0=%24sessionStorageProvider%20%3C-%20%24sessionStorage

这是我的 app.js 文件

var BusRegModule = angular.module('BusRegModule', ['ui.router']);

BusRegModule.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
   $urlRouterProvider.otherwise('/');
    /* should route to sum.html(below code was used for checking) */
   $stateProvider.state('home', {      
           url: '/home',
           templateUrl: 'home.html'
   }); 
   $locationProvider.html5Mode(true);      
});

BusRegModule.controller('BusRegController',["$scope","$sessionStorage","$http", function($scope,$sessionStorage,$http){
 $scope.storage=$sessionStorage;
 $scope.businessReg=  {}
 $scope.submitMyForm=function() {        
     var q;
     sessionStorage.setItem("q",JSON.stringify($scope.businessReg));
     var d=sessionStorage.getItem("q"); 
     alert(d);
 };
}]);

还有更多疑问,任何人都可以给我一个简单的例子,使用$ UrlRouterProvider在角度js中进行路由。我想使用sessionStorage从表单(reg.html)获取值,并且需要路由到另一个页面(sum.html)并在那里回显form(reg.html)中的值。 上面的代码有很多错误,任何帮助都会挽救生命.. 提前谢谢。

1 个答案:

答案 0 :(得分:0)

首先,与AngularJS JavaScript文件一起,还需要继承 ngStorage.min.js 文件,以便对HTML5 LocalStorage和SessionStorage对象执行操作。 然后你需要在angular.module定义中传递ngStorage参数,然后在控制器中注入$ localStorage,$ sessionStorage依赖项。

以下是如何在sessionStorage中保存和获取数据的示例。这里我有两个功能

  1. 将数据保存到sessionStorage
  2. 获取数据

    var app = angular.module('MyApp', ["ngStorage"])
    app.controller('MyController', function ($scope, $localStorage, $sessionStorage, $window) {
        $scope.Save = function () {
            $sessionStorage.SessionMessage = "SessionStorage: Storing some data.";
        }
        $scope.Get = function () {
            $window.alert($sessionStorage.SessionMessage);
        }
    });
    

    我希望这会有所帮助:)