我正尝试在使用VueJS2.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)
})

答案 0 :(得分:2)
这是窗口,因为FB执行的功能是在全局上下文中完成的。
要解决此问题,请在第一个FB为此分配变量之前的行中,这将是您对Vue实例的引用。
let vm = this:
FB......
然后你可以通过vm.someMethod()