2017-02-20 11 views
0

VueJS2.0を使用しているWebサイトでfacebook SDK機能を使って簡単なログインを実装しようとしています。facebook SDKからVueJSにデータを公開する

私はこれを処理するコンポーネントを持っているコードは基本的にFB SDKクイックスタートから取られる:

onLoginPress() { 
 
      FB.getLoginStatus(function(response) { 
 
       if (response.status === 'connected') { 
 
        console.log('Logged in.'); 
 
       } else { 
 
        FB.login(function(response) { 
 
         if (response.authResponse) { 
 
          console.log('Welcome! Fetching your information.... '); 
 
          FB.api('/me', function(response) { 
 
           console.log('Good to see you, ' + response.name + '.'); 
 
          }); 
 
         } else { 
 
          console.log('User cancelled login or did not fully authorize.'); 
 
         } 
 
        }); 
 
       } 
 
      });

を今私は疑問に思う - どのように私は戻ってFB APIからの応答を提供する必要がありますVueJSに?私は、これらの関数呼び出し内のthisがウィンドウでポイントを参照しているが、私はVueにアクセスできない。 FBは、実行機能がグローバルコンテキスト内で行われているので、これがウィンドウです

/* eslint-disable no-new */ 
 
new Vue({ 
 
    el: '#app', 
 
    render: h => h(App) 
 
})

+0

経由のVueから通常の派遣などを行うことができますか?あなたは暗闇の中で働いています。 –

答えて

2

Vueのは、次のコードで初期化されます。

これを解決するには、最初のFBの前の行に変数を割り当てます。これはVueインスタンスへの参照になります。

let vm = this: 
FB...... 

次に、あなたはあなたがヴューにアクセスしないでくださいvm.someMethod()

+0

夢のように働く、ありがとう! –

+0

ありがとうございました –

関連する問題