我正在开发一个 IONIC 3 应用程序,并尝试使用 Facebook 进行登录。我制作了一个按钮,在 click
事件上触发 registerUser()
函数。我已经通过 Facebook 开发者控制台完美创建了应用程序,并通过 this 安装了 Facebook 插件关联。我按照文档进行操作,效果非常好。
我已在 app.module.ts
文件中导入 import { Facebook } from '@ionic-native/facebook/ngx';
,并分配了 Facebook
也在提供商中。并且还在 signup.ts
中导入了 import { Facebook, FacebookLoginResponse } from '@ionic-native/facebook/ngx';
。
问题是,这个应用程序是用 IONIC 3 构建的,现在当我翻到 IONIC 3 的文档时,然后搜索 facebook,点击 facebook 链接后,我被重定向到 this我按照该页面安装插件等。当我运行应用程序时,会触发函数 registerUser()
并返回一个错误,其中显示:
ERROR TypeError: Object(...) is not a function
at Facebook.login (index.js:62)
at SignupPage.webpackJsonp.186.SignupPage.registerUser (signup.ts:83)
at Object.eval [as handleEvent] (SignupPage.html:78)
at handleEvent (core.js:13589)
at callWithDebugContext (core.js:15098)
at Object.debugHandleEvent [as handleEvent] (core.js:14685)
at dispatchEvent (core.js:10004)
at core.js:10629
at HTMLButtonElement.<anonymous> (platform-browser.js:2628)
at t.invokeTask (polyfills.js:3)
Facebook 代码
export class SignupPage {
constructor(
public facebook: Facebook
) {}
//Register User
registerUser() {
this.facebook.login(['public_profile', 'user_friends', 'email'])
.then((res: FacebookLoginResponse) => {
console.log('Logged into Facebook!', res)
})
.catch(e => {
console.log('Error logging into Facebook', e)
});
}
}
ionic 按钮
<ion-item id="border-none">
<button ion-button block id="login-button" (click)="registerUser()">Create Account</button>
</ion-item>
I have searched for different solutions, even here, but nothing helped out.
最佳答案
/ngx 扩展适用于 ionic 4 及以上版本,它不适用于 ionic 3 并且会抛出该错误
类型错误:对象(...)不是函数
所以我建议你使用 V3 文档并为 ionic 3 项目实现它 https://ionicframework.com/docs/v3/native/facebook/
关于ionic-framework - 对象不是函数 - IONIC 3 Facebook 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56076245/