在我看来
<button type="button"
ng-disabled="isProcessing"
ng-click="login.ssoFacebook()"
class="button button-primary">
<span class="icon icon-social-facebook"></span>
Login Using Facebook
</button>
当我点击按钮时facebook不起作用 我的控制器
this.ssoFacebook = function(){
// intiate
ssoAuth.facebook.initiate()
.then(function(customer){
if (!customer) throw 'error system';
authService.setCurrentSession(customer, $scope);
$timeout(function() {
$scope.$emit(GLOBAL_EVENTS.SYSTEM.ACCOUNT.SESSION.LOGIN_SUCCESS);
}, 500);
// redirect or something
$state.go('products', {}, {reload: true});
})
.catch(function(error){
$scope.$emit(GLOBAL_EVENTS.SYSTEM.ACCOUNT.SESSION.LOGIN_FAILED, error);
});
};
我做错了吗?谢谢提前
答案 0 :(得分:1)
替换此代码,
this.ssoFacebook = function(){
...
}
用,
$scope.login = {};
$scope.login.ssoFacebook = function(){
..
}
这可能是个问题。
答案 1 :(得分:1)
如果你想使用来自控制器而不是范围的功能,你需要在attribute ng-controller中的html中标记这个
ng-controller="ControllerName as login"
以下可以使用
<button type="button"
ng-disabled="isProcessing"
ng-click="login.ssoFacebook()"
class="button button-primary">
<span class="icon icon-social-facebook"></span>
Login Using Facebook
</button>
答案 2 :(得分:0)
将ng-click更改为
ng-click="ssoFacebook()"
并在您的控制器中更改为:
$scope.ssoFacebook = function(){
...
}