2016-10-24 3 views
2

私はので、私は、ストレージをインポートし、私はウェブサイトで見て、それがのストレージ私のストレージ実装ionic 2アプリで何が問題になっていますか?

import { Component} from '@angular/core'; 

import { NavController,NavParams,LoadingController,AlertController,ViewController } from 'ionic-angular'; 
import { Facebook } from 'ionic-native'; 

//import pages 
import {LoginPage} from "../../pages/login/login"; 
import {User} from '../../models/user' 
import { Storage} from '@ionic/storage'; 
//import provider 
import { ProfileData } from '../../providers/profile-data'; 
import { NotesData } from '../../providers/notes-data'; 

import firebase from 'firebase' 
import {AddNote} from "../add-note/add-note"; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 

export class HomePage { 

    pages: Array<{title: string, component: any}>; 
    photo:any; 




    constructor(public navCtrl: NavController,public storage:Storage) { 


    } 
    ionViewDidLoad() { 

    this.getDetailsFacebook(); 
    } 

    getDetailsFacebook() { 
    var that=this; 
    Facebook.getLoginStatus().then((response)=> { 
     if (response.status == 'connected') { 
     Facebook.api('/' + response.authResponse.userID + '?fields=id,name,gender', []).then((response)=> { 
     that.uid = response.id; 
     that.photo = "http://graph.facebook.com/"+that.uid+"/picture?type=large"; 
      that.storage.set('photo',that.photo'); 

      //console.log("id:"+this.uid+this.name+this.photo); 
     }, (error)=> { 
      alert(error); 
     }) 
     } 
     else { 
     alert('Not Logged in'); 
     } 
    }) 

写真のデータを保存していないまったく同じでした イオン2アプリ内のローカルストレージにデータを保存しようとしていますクロム現像剤で調べる enter image description here

私はそれを設定すると写真のキーが表示されません。なぜですか?

npm install @ionic/storage 

あなたがしたい場合は、次のいずれかで、あなたイオン2 /角度2つのアプリケーションでこれを使用するデフォルトではインストールされている新鮮なイオンプロジェクトを開始、または実行するには

答えて

1

インストール

あなたはNgModuleドを編集する必要がありストレージを使用するためには

cordova plugin add cordova-sqlite-storage --save 

:SQLiteのプラグインを(シミュレータやデバイス上で実行している間のみ動作)をインストールし、ストレージエンジンとしてSQLiteのを使用以下のようにプロバイダーとしてストレージを追加するためのsrc /アプリ/ app.module.tsでclaration:

import { Storage } from '@ionic/storage'; 

@NgModule({ 
    declarations: [ 
    ... 
    ], 
    imports: [ 
    IonicModule.forRoot(MyApp) 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    ... 
    ], 
    providers: [ Storage ] // Add Storage as a provider 
}) 
export class AppModule {} 

、あなたは簡単にコンポーネントにストレージを注入することができます

import { Component } from '@angular/core'; 

import { NavController } from 'ionic-angular'; 

import { Storage } from '@ionic/storage'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 
export class HomePage { 

    constructor(public navCtrl: NavController, public storage: Storage) { 

    } 

} 

項目を設定するには、

this.storage.set('name', 'Mr. Ionitron'); 

Storage.getを使用し、バックアイテムを取得するために(名前).then((値)=> {})を取得しているので()約束を返す:

Storage.set(キー、値)を使用し
this.storage.get('name').then((name) => { 
    console.log('Me: Hey, ' + name + '! You have a very nice name.'); 
    console.log('You: Thanks! I got it for my birthday.'); 
}); 

ストレージモジュールの詳細については、リンク:https://github.com/driftyco/ionic-storage

関連する問題