我是 AnuglarJS 的新手,并且已经用它构建了一个小型网络应用程序,
我想将 Facebook JavaScript SDK 与它一起使用,但使用最佳实践(依赖项注入控制器,以维护应用程序结构和可测试性)。
我找到了这个https://groups.google.com/forum/#!msg/angular/bAVx58yJyLE/Kz56Rw-cQREJ https://groups.google.com/forum/#!msg/angular/bAVx58yJyLE/Kz56Rw-cQREJ但对于这个框架的新手来说,这非常令人困惑(恕我直言,模块、服务和工厂没有得到很好的解释)。
那么,在 AngularJS 应用程序中使用 Facebook SDK 的正确方法是什么?
我实际上不得不这样做......我没有代码,而且它可能是专有的......但它本质上是这样的:
// create a simple factory:
app.factory('facebook', ['$window', function($window) {
//get FB from the global (window) variable.
var FB = $window.FB;
// gripe if it's not there.
if(!FB) throw new Error('Facebook not loaded');
//make sure FB is initialized.
FB.init({
appId : 'YOUR_APP_ID'
});
return {
// a me function
me: function(callback) {
FB.api('/me', callback);
}
//TODO: Add any other functions you need here, login() for example.
}
}]);
// then you can use it like so:
app.controller('SomeCtrl', function($scope, facebook) {
//something to call on a click.
$scope.testMe = function() {
//call our service function.
facebook.me(function(data) {
$scope.facebookUser = data;
//probably need to $apply() this when it returns.
// since it's async.
$scope.$apply();
});
};
});
如果其中有任何错误,请告诉我,我将查找我拥有的工作代码并看看我错过了什么。但应该就是这样了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)