Javascript 在AngularJS处立即调用函数
我对AngularJs完全是新手 我有一个很好的ngClick的例子,它调用了一个Facebook函数 我想更改它,并在控制器准备就绪后通过编程调用registerWithFacebook函数。怎么办 以下是示例:Javascript 在AngularJS处立即调用函数,javascript,angularjs,Javascript,Angularjs,我对AngularJs完全是新手 我有一个很好的ngClick的例子,它调用了一个Facebook函数 我想更改它,并在控制器准备就绪后通过编程调用registerWithFacebook函数。怎么办 以下是示例: 谢谢如果要异步加载FB库,需要在初始化后通知angular。以下是一种方法: 你所说的“页面加载”具体是什么意思?为什么这需要在那个时候运行呢?我只是在练习,想手动调用registerWithFacebook。我所说的“页面加载”是指类似于(“$viewContentLoaded”,
谢谢如果要异步加载FB库,需要在初始化后通知angular。以下是一种方法:
你所说的“页面加载”具体是什么意思?为什么这需要在那个时候运行呢?我只是在练习,想手动调用registerWithFacebook。我所说的“页面加载”是指类似于(“$viewContentLoaded”,registerWithFacebook”)的
$scope.$on代码>但它不能work@JoshDavidMiller我还编辑了我的问题,以说明我更想要什么。谢谢。你的FB.init
在哪里?顺便说一句,你的小提琴不包括实际的FBSDK脚本。关于你的问题,在angular controller中执行的任何操作都是在应用程序加载之后执行的,在大多数情况下,这意味着dom准备就绪之后;因此,在定义itI后,您只需调用$scope.registerWithFacebook()
,我还没有添加问题的所有部分。FB.init部分实际上在Fiddle上可用<代码>$scope.registerWithFacebook()
也不起作用。有可能让它在我的小提琴上为我工作吗?
angular.module('HomePageModule', []).service('facebookConnect', function($rootScope) {
this.askFacebookForAuthentication = function(fail, success) {
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function() { $rootScope.$apply(success) });
} else {
$rootScope.$apply(function() {
fail('User cancelled login or did not fully authorize.')
});
}
});
}
});
function ConnectCtrl(facebookConnect, $scope, $resource) {
$scope.user = {}
$scope.error = null;
$scope.registerWithFacebook = function() {
facebookConnect.askFacebookForAuthentication(
function(reason) { // fail
$scope.error = reason;
}, function(user) { // success
$scope.user = user
});
}
// Tried this but no success
// $scope.registerWithFacebook();
}
ConnectCtrl.$inject = ['facebookConnect', '$scope', '$resource'];