【问题标题】:Phonegap + Facebook plugin with AngularJS带有 AngularJS 的 Phonegap + Facebook 插件
【发布时间】:2013-10-23 07:27:13
【问题描述】:

我想用 Javascript 开发一个应用程序,并在 Android 和 iOS 上使用 Phonegap 部署它。 我想使用 Facebook 登录我的应用。

所以,我查看了 phonegap-facebook 插件,一切正常(我设法使用 FB 登录)。问题是当我想对插件提供的示例代码进行“角度化”时:在 index.html 中我嵌入了这样的 JS:

<script>
  // Initialize the Facebook SDK
  document.addEventListener('deviceready', function() {
      FB.init({
          appId: 'XXX',
          nativeInterface: CDV.FB,
          useCachedDialogs: false
      });

      FB.getLoginStatus(handleStatusChange);

      authUser();
      updateAuthElements();
  });
</script>

调用的js方法直接更新显示(使用document.getElementById)。 我想在我的 index.html 和 javascript 代码之间创建一个绑定,以便使用类似的东西打印 facebook 令牌和名称

{{user.token}} and {{user.names}}

有人设法实现了类似的东西吗?

非常感谢!

【问题讨论】:

标签: javascript android facebook angularjs cordova


【解决方案1】:

如果有人仍然想做同样的事情,我花了很长时间来解决这个问题,最终写了一封 fairly long blog post 详细说明我是如何做到的。

我尝试了许多现有建议,包括上面 subZero 评论中的 Gist,但无法在设备模拟器上使用我的 Phonegap 项目。

我的帖子介绍了使用 Phonegap + FB 插件 + AngularJS 引导一个新项目,但对我来说,直接执行此操作的关键缺失部分和“Angular 方式”是 angular-easyfb 模块,我相信它只添加了 Phonegap 支持最近。如果您对此感到困惑,那么值得一看!

我使用此模块的演示应用代码位于this gist

【讨论】:

  • 请注意,虽然这仍然适用于 PG + AngularJS,但它不再适用于 this Phonegap plugin 和原生移动 FB 对话框,超过 0.4.0 版本,因为它们已经放弃了与FB JS SDK。我已经对此 here 进行了解释和抱怨,但还没有找到该 PG 插件的较新版本的 Angular 模块替代品。
  • 好吧,只有我在帖子中提到的 2 个原生 Phonegap 插件。如果有人制作了一个与 JS-SDK 兼容的插件,它可能会再次与原生插件一起使用。它仍然可以独立于 PG 正常工作,以使 Facebook 很好地适应 Angular,这是该模块的要点。原生支持是最近的一个奖励,但很快就被 PG 插件的更改打破了。
【解决方案2】:

这行得通吗?

angular.element('[ng-controller=<name of the controller>]').scope().user = {token: <the extracted token>, names: <the extracted names>}

【讨论】:

    猜你喜欢
    • 2014-07-23
    • 1970-01-01
    • 2013-08-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多