【发布时间】:2017-09-25 16:21:34
【问题描述】:
你可以看到我的代码。
npm install vue init nuxt/koa my-project (koa@2)
页面
|- login.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 的最佳方式是什么?
【问题讨论】:
-
试试
statusChangeCallback(response),看这里stackoverflow.com/questions/35319801/… -
谢谢你。但是,我在哪里声明这个代码?
(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'));因为,“定义FB”错误。 -
多亏了你,我解决了。祝你好运。
标签: facebook vue.js authentication sdk nuxt.js