你可以看看我的代码。
npm install vue init nuxt/koa my-project (koa@2)
页数
|- 登录.vue
<script>
export default {
name: 'login',
method: {
login () {
let vm = this
FB.login(function (response) {
vm.statusChangeCallback(response)
}, {scope: 'publish_actions'})
}
},
mounted () {
console.log('mounted')
let vm = this
window.fbAsyncInit = () => {
FB.init({
appId: 'my-facebook-app-id',
cookie: true,
xfbml: true,
version: 'v2.8'
})
FB.getLoginStatus(function (response) {
vm.statusChangeCallback(response)
})
}
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
}
}
</script>
但,
sdk.js:96 Uncaught TypeError: vm.statusChangeCallback is not a function
使用 Nuxt 项目 ( nuxt/koa ) 时,使用 Facebook SDK 的最佳方式是什么?
原文由 hyeokluv 发布,翻译遵循 CC BY-SA 4.0 许可协议
我今天遇到了同样的问题。这是我使用 nuxt.js 的解决方案
首先创建一个插件
plugins/fb-sdk.js
我们可以使用
Vue.FB
调用 FB SDK 中的方法,并在任何组件中监听fb-sdk-ready
事件,如下所示: