2016-12-16 7 views
5

私はイオンのアプリケーション上でユーザセキュアストレージ(https://ionicframework.com/docs/v2/native/secure-storage/)にしようとしています。私のコントローラでCordovaのセキュアストレージプラグインを使用すると「不明なプロバイダ」エラーが発生します。なぜですか?

.controller('ExampleCtrl', function ($scope, SecureStorage) { 
     var ss = new SecureStorage(
       function() { 
        console.log('Success') 
       }, 
       function (error) { 
        console.log('Error ' + error); 
       }, 
       'my_app'); 
       var key = 'aaa'; 

ERROR:

ionic.bundle.js:26799 Error: [$injector:unpr] Unknown provider: SecureStorageProvider <- SecureStorage <- ExampleCtrl

しかし、それはSecureStorageプロバイダを知りません。

私が間違っていることを知っていますか?コントローラの引数からSecureStorageを削除し、2行目にcordova.plugins.を追加し、そう

.controller('ExampleCtrl', function ($scope) { 
    var ss = new cordova.plugins.SecureStorage(
      function() { 
       console.log('Success'); 
      }, 
      function (error) { 
       console.log('Error ' + error); 
      }, 
      'my_app'); 
}); 

+1

エラーは何ですか? – Hosar

+0

私はエラーを追加しました。プロバイダは分かりません – anubis

+0

あなたが参照したリンクはangular2プラグインですが、あなたのコードはangular1を使用しているようです – devqon

答えて

1

これを試してみてください。

そして(もちろん)プラグインをインストールすることを忘れないでください:

ionic plugin add cordova-plugin-secure-storage --save 

今、あなたはss上の機能を使用することができますが、これであるため、あなたが提供されたリンクでドキュメントを使用していませんイオン2のドキュメンテーション。代わりにプラグインのドキュメントを使用してください:https://github.com/Crypho/cordova-plugin-secure-storage

0

サービスでSecureStorageをラップし、コントローラでサービスを使用する必要があります。

import { SecureStorage } from 'ionic-native'; 
.factory('secureFactory',function(){ 

    this.createStorage = function(){ 
     var ss = new SecureStorage(
      function() { 
       console.log('Success') 
      }, 
      function (error) { 
       console.log('Error ' + error); 
      }, 
      'my_app'); 
     return ss; 
    } 

}) 
コントローラで

.controller('ExampleCtrl', function ($scope, secureFactory) { 
    var sss = secureFactory.createStorage(); 
}) 
関連する問題