1

私の問題は非常に単純なようです(私はおそらくばかです;))が、それを指摘できませんでした。

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/

4

3 に答える 3

2

私は間違っているかもしれませんが、コントローラーに正しい参照を渡していないようです。正しい使用法は、$sessionStorage または $localStorage です。使用している $storage 参照は、GitHub ページの例から誤って取得されたようであり、実際の $storage プロバイダーがないため、コードが爆発しています。

于 2015-02-08T04:14:07.733 に答える
0

ブラウザの履歴を消去してみてください。コントローラーにそのコントローラーの localStorage 変数が既にあり、それが新しい localStorage 変数と競合する場合、このエラーが発生する可能性があります。

于 2014-12-12T18:40:54.913 に答える