繁体   English   中英

Ng-click Angular JS不起作用

[英]Ng-click Angular JS doesn't work

在我看来

<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);
        });
    };

难道我做错了什么? 谢谢提前

替换此代码,

this.ssoFacebook = function(){
...
}

与,

$scope.login = {};
$scope.login.ssoFacebook = function(){
..
}

这可能是问题所在。

如果要使用控制器的功能而不是作用域,则需要在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>

将您的ng-click更改为ng-click="ssoFacebook()"

并在您的控制器中更改:

$scope.ssoFacebook = function(){ ... }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM