看起来我的问题非常简单(我可能很愚蠢;))但是无法指出它。
我在Angular上找到了一些关于localStorage(使用ngStorage)的相同问题,但我不明白为什么这种语法不起作用:
function myCtrl($scope, $http, $resource, $storage, $localStorage) {
....
}
myCtrl.$inject = ['$scope', '$http', '$resource', '$storage', '$localStorage'];
我也定义了app.js中的应用程序(安装ngStorage之后):
angular.module('onBoardingApp', ['ngStorage', 'ngResource']);
如果出现错误,则生成此类:
Error: [$injector:unpr] Unknown provider: $storageProvider <- $storage
有些人正在使用angular.module注入(我尝试过没有任何成功)
angular.module('app', [
'ngStorage'
]).controller('myCtrl', function(
$scope,
$localStorage
){
//foo
});
我终于通过使用另一家工厂解决了这个问题:$ store。 以下是我过去使用的来源:http://jsfiddle.net/agrublev/QjVq3/
答案 0 :(得分:2)
我可能会弄错,但看起来你没有将正确的引用传递给你的控制器。正确的用法只是$ sessionStorage或$ localStorage。您正在使用的$ storage引用似乎从GitHub页面上的示例中错误地获取,并且您的代码正在爆炸,因为没有实际的$ storage提供程序。
答案 1 :(得分:0)
尝试清除浏览器历史记录。如果控制器已具有该控制器的localStorage变量,并且它与新的localStorage变量冲突,则可能会收到此错误。
答案 2 :(得分:0)
在您的应用中使用 ngStorage 数据持久性,此处每当您重新启动应用程序时,数据都会持续存在。 ngStorage将数据存储在HTML5本地存储将存储的相同位置。这只是本地存储的包装器。 然而,本地存储存储在您的浏览器中,因此只要您不清除数据,它就会永远存在。 在这种情况下,重置服务器数据可能存在一些逻辑问题。