2017-02-20 4 views
0

VueJS2.0을 사용하는 웹 사이트 내에서 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이 Window에서 가리킨다는 것을 알았지 만, 나는 Vue에 접근 할 수 없다.

뷰는 다음과 같은 코드로 초기화 경우 : FB가 실행 함수가 글로벌 컨텍스트 내에서 수행되므로

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

+0

를 통해 이러한 뷰에서 정상 파견 등을 할 수 있습니까? 그럼 당신은 어둠 속에서 일하고 있습니다. –

답변

2

이 창은있다.

첫 번째 FB가 Vue 인스턴스에 대한 참조가 될 변수를 할당하기 전에이 문제를 해결하려면 다음을 수행하십시오.

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

그런 다음 당신은 당신이 뷰에 액세스하지 않는 vm.someMethod()

+0

꿈 같은 작품, 고마워요! –

+0

감사합니다. –

관련 문제