2016-10-22 4 views
0

私はIonic2でアプリケーションを構築しています。私はアプリ内でFacebookを実装したいので、私はイオンネイティブのFacebook APIを使用しようとしています。私はそれをインポートし、それを変数に代入しようとしたので、それに関連する関数を使うことができました。コンストラクタ内の変数にインポートを割り当てる

ここに私のコードです。

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { Facebook } from 'ionic-native'; 


@Component({ 
    selector: 'page-news-feed', 
    templateUrl: 'news-feed.html', 
}) 
export class NewsFeed { 

    fb: any; 

    constructor(public navCtrl: NavController, facebook: Facebook) { 
    this.fb = facebook; 
    } 

    doRefresh(refresher) { 
     console.log('Begin async operation', refresher); 

     setTimeout(() => { 
      console.log('Async operation has ended'); 
      refresher.complete(); 
     }, 2000); 
    } 

    this.fb.login([]); 

    ionViewDidLoad() { 
    console.log('Hello NewsFeed Page'); 
    } 

} 

私はあなたがそれをインポートし、それを変数に割り当て、そのメソッドにアクセスすることができるという点で、輸入が大幅にクラスのように働くと思いました。それはそのようには機能しませんか?どのように機能するのですか? https://ionicframework.com/docs/v2/native/

あなたはコンストラクタを通してそれを注入する必要はありません。それはイオンネイティブドキュメントの中で述べているよう

+0

fb.login()の呼び出しは、関数定義の外にあるようです。さもなければ私はあなたのコードに間違って何も表示されません。 – morphatic

答えて

0

は、あなただけのFacebookクラスをインポートする必要があります。メソッドが静的なので、これはエラーを出力します。

platform.readyイベント後にFacebookにも電話してください。プラグインを追加することを忘れないでください。それに応じて変更された例を見てください。

import { Component } from '@angular/core'; 
import { NavController, Platform } from 'ionic-angular'; 
import { Facebook } from 'ionic-native'; 


@Component({ 
    selector: 'page-news-feed', 
    templateUrl: 'news-feed.html', 
}) 
export class NewsFeed { 

    constructor(public navCtrl: NavController, platform: Platform) { 
    platform.ready().then(() => { 
     console.log('Faceboook'); 
     Facebook.login([]).then((response) => { 
     console.log(response); 
     }).catch((error) => { 
     console.error(error); 
     }); 
    }) 
    } 

    doRefresh(refresher) { 
     console.log('Begin async operation', refresher); 

     setTimeout(() => { 
      console.log('Async operation has ended'); 
      refresher.complete(); 
     }, 2000); 
    } 

    ionViewDidLoad() { 
    console.log('Hello NewsFeed Page'); 
    } 

} 
関連する問題