Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未知提供程序:ngStorageProvider<;-尝试使用ngStorage时使用ngStorage_Javascript_Angularjs_Ng Storage - Fatal编程技术网

Javascript 未知提供程序:ngStorageProvider<;-尝试使用ngStorage时使用ngStorage

Javascript 未知提供程序:ngStorageProvider<;-尝试使用ngStorage时使用ngStorage,javascript,angularjs,ng-storage,Javascript,Angularjs,Ng Storage,我下面有一个使用ngStorage的代码。 但是,当我尝试运行angular应用程序时,控制台会出现以下错误: Error: [$injector:unpr] Unknown provider: ngStorageProvider <- ngStorage <- signupController 更新: 更改代码以在控制器参数中包含$LocalStorages。现在错误mesge消失了,但是$localStorage在我对它进行了assigmnet之后没有定义 controller

我下面有一个使用ngStorage的代码。 但是,当我尝试运行angular应用程序时,控制台会出现以下错误:

Error: [$injector:unpr] Unknown provider: ngStorageProvider <- ngStorage <- signupController
更新:

更改代码以在控制器参数中包含$LocalStorages。现在错误mesge消失了,但是$localStorage在我对它进行了assigmnet之后没有定义

controller('signupController', ['$scope', '$location', '$http', 'userDetails', '$localStorage',
    function ($scope, $location, $http, userDetails, $localStorage) {

        $scope.login_info = "";
        $scope.userDetails = userDetails.isLogged;
        $scope.userLogin = false;
        $http.get('/online_users')
            .success(function (data) {
                $scope.usersNumber = data.length;
            })
            .error(function (data) {
                console.log('Error: ' + data);
            });

        $scope.register_user = function (info) {
            $http({
                url: '/register_user',
                method: 'POST',
                data: info
            }).then(function (response) {
                $localStorage.jwt = response.data.id_token;
                $location.path('main');
            }, function (error) {
                alert(error.data);
            });
        }

    }]);
这就是我的代码抛出未定义localstorage错误的地方:

mainController.js

var smallTalkzModel = angular.module('smallTalkzModel', ['ui.router', 'luegg.directives', 'ngCookies', 'ngStorage', 'angular-jwt']);

smallTalkzModel.controller('signupController', ['$scope', '$location', '$http', 'userDetails','ngStorage',
    function ($scope, $location, $http, userDetails,$localStorage) {

        $scope.register_user = function (info) {
            $http({
                url: '/register_user',
                method: 'POST',
                data: info
            }).then(function (response) {
                $localStorage.jwt = response.data.id_token;
                $location.path('main');
            }, function (error) {
                alert(error.data);
            });
        }
    }]);
smallTalkzModel.controller('mainController', ['$scope', 'sessionInfo', '$location', '$http', 'userDetails','$localStorage',
    function ($scope, sessionInfo, $location, $http, userDetails, jwtHelper,$localStorage) {

        $scope.login_info = "";
        $scope.userLogin = userDetails.isLogged;

        var jwt = $localStorage.jwt; // here $localStorage is undefined
..........

}

您需要安装ngStorage,并将其添加到项目中。它不是角核的一部分

如果已经安装了脚本,则可能是因为忘记在项目中添加脚本而导致错误

以下是官方文件:

这里有一个例子:

更新

我在控制器signupController中看到,您正在注入ngStorage(在字符串部分),而注入应该是$localStorage或$sessionStorage。这是导致问题的原因,因为ngStorage是一个模块,而不是提供程序

更新2


当您声明mainController时,第二个参数是控制器所依赖的模块,您忘记了在$localStorage的字符串之前添加jwtHelper的字符串。因此,函数中的变量少了一个字符串。

您需要安装ngStorage,并将其添加到项目中。它不是角核的一部分

如果已经安装了脚本,则可能是因为忘记在项目中添加脚本而导致错误

以下是官方文件:

这里有一个例子:

更新

我在控制器signupController中看到,您正在注入ngStorage(在字符串部分),而注入应该是$localStorage或$sessionStorage。这是导致问题的原因,因为ngStorage是一个模块,而不是提供程序

更新2


当您声明mainController时,第二个参数是控制器所依赖的模块,您忘记了在$localStorage的字符串之前添加jwtHelper的字符串。因此,函数中的变量少了一个字符串。

不确定这是否是问题所在。我确实安装了npm ngstorage--save,并将cdn脚本src添加到了我的索引中。HTMLDO如果安装了cdn,请不要使用它,只使用文件的本地路径。@Matoy,检查我的更新,我想这是答案。谢谢。我这样做了,错误消息消失了,但现在本地存储未定义。(更新我的问题)什么是未定义的,$localStorage或$localStorage.jwt?不确定这是否是问题所在。我确实安装了npm ngstorage--save,并将cdn脚本src添加到了我的索引中。HTMLDO如果安装了cdn,请不要使用它,只使用文件的本地路径。@Matoy,检查我的更新,我想这是答案。谢谢。我这样做了,错误消息消失了,但现在本地存储未定义。(更新我的问题)什么是未定义的,$localStorage或$localStorage.jwt?