我在控制器中使用Angular facebook service 我試圖使用方法:$ facebook.login()單擊按鈕時,使用ng-單擊。Facebook的登錄彈出窗口不顯示,但仍然返回一個承諾
承諾被退回,裏面的代碼被激活,但沒有登錄彈出窗口。 也試圖關閉Chrome彈出窗口阻止程序。 有控制檯上沒有錯誤...
這裏是我的代碼示例:
facebook.html
<div class="container">
<div class="col-md-4">
<h3>please log in</h3>
<button type="Log In" class="btn btn-default" ng-click="login()">Log In</button>
</div>
facebook.js
'use strict';
angular.module('ngsocial.facebook', ['ngRoute', 'ngFacebook'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/facebook', {
templateUrl: 'facebook/facebook.html',
controller: 'facebookCtrl'
});
}])
.config(function($facebookProvider) {
$facebookProvider.setAppId('1816664965234931');
$facebookProvider.setPermissions("email", "public_profile", "user_posts", "publish_actions", "user_photos");
})
.run(function($rootScope) {
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
(function() {
console.log("im loaded");
}());
})
.controller('facebookCtrl', ["$scope" , "$facebook" , function($scope,$facebook) {
$scope.login = function() {
$facebook.login().then (console.log("promise has returned"));
}
}]);
感謝您的快速回復。但是...仍然沒有錯誤...這一次,它不是打印承諾內的內容.... .controller('facebookCtrl',[「$ scope」,「$ facebook」,function($ scope,$ Facebook)的{ $ scope.login =函數(){$ facebook.login(),然後(功能(數據)。{ 的console.log(數據); }) .catch(函數(ERR){ 控制檯。日誌('錯誤',錯誤); }); } } – LiranC