我在angularJs应用程序中使用facebook authentication API v2.8,主要是在文档https://blog.brunoscopelliti.com/facebook-authentication-in-your-angularjs-web-app/之后。我已将与身份验证相关的代码放在服务中。现在,我想在像< - p>这样的组件中使用facebook登录按钮
<fb:login-button scope="public_profile,email" onlogin="$ctrl.checkLoginState()">
</fb:login-button>
我打算从我的组件控制器中定义的方法$ctrl.checkLoginState
调用身份验证服务,但是我收到了一个未被捕获的引用错误 -
sdk.js:89未捕获的ReferenceError:$ ctrl未定义(...)。
有什么想法可以解决这个问题吗?
答案 0 :(得分:2)
能够根据Misko对Call Angular JS from legacy code的建议找到解决方案。
在触发onlogin事件后创建一个要调用的javascript方法,然后显式调用角度组件控制器函数 -
angular.element($("#elementId")).scope().$ctrl.checkLoginState();
从那里我可以打电话给我。