将Facebook SDK中的数据暴露给VueJS

时间:2017-02-20 18:51:50

标签: facebook vuejs2

我正尝试在使用V​​ueJS2.0的网站中使用facebook SDK功能进行简单登录。

我处理此代码的组件中的代码基本上来自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的权限。

使用以下代码初始化Vue:



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




1 个答案:

答案 0 :(得分:2)

这是窗口,因为FB执行的功能是在全局上下文中完成的。

要解决此问题,请在第一个FB为此分配变量之前的行中,这将是您对Vue实例的引用。

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

然后你可以通过vm.someMethod()

从Vue进行正常的调度