Facebook 在 angularJs 中登录 API

Facebook Login API in angularJs

我在主要遵循文档 https://blog.brunoscopelliti.com/facebook-authentication-in-your-angularjs-web-app/ 的 angularJs 应用程序中使用 facebook 身份验证 API v2.8。我已将与身份验证相关的代码放入服务中。现在,我想在组件内使用 facebook 登录按钮,例如 -

<fb:login-button scope="public_profile,email" onlogin="$ctrl.checkLoginState()">
</fb:login-button>

我打算从我的组件控制器中定义的方法 $ctrl.checkLoginState 调用身份验证服务,但我收到未捕获的引用错误 -

sdk.js:89 Uncaught ReferenceError: $ctrl is not defined(…).

有解决此问题的想法吗?

根据 Misko 在 Call Angular JS from legacy code 上的建议找到了解决方案。

创建了一个 javascript 方法,在触发 onlogin 事件后调用,然后像这样显式调用 angular 组件控制器函数 -

angular.element($("#elementId")).scope().$ctrl.checkLoginState();

从那里我可以调用我的服务。