javascript - 将函数参数传递给 $scope.$apply?

标签 javascript angularjs callback

我正在使用 $scope.$apply 进行回调,特别是 Stripe。目前我有一些代码,比如

var stripeCallback = function (status, response) {
    if (!response.error) {
        // do something
    } else {
        // do something else
    }
};

$scope.submit = function () {
    $scope.errorMessage = 'Processing...';
    $scope.buttonDisabled = true;
    // can't use bindings for some reason
    var myForm = $('#paymentform');
    Stripe.createToken(myForm, function (status, response) {
        $scope.$apply(stripeCallback);
    });
};

这个问题是我无法获得 stripeCallback 的任何参数,即 response。有什么方法可以将函数参数传递给 $scope.$apply 吗?我一直没能找到任何对此的引用是文档。

最佳答案

stripeCallback包装成一个匿名函数:

var stripeCallback = function (status, response) {
    ....
};

$scope.submit = function () {
    $scope.errorMessage = 'Processing...';
    $scope.buttonDisabled = true;
    // can't use bindings for some reason
    var myForm = $('#paymentform');
    Stripe.createToken(myForm, function (status, response) {
        $scope.$apply(function() {
            stripeCallback(status, response);
        });
    });
};

关于javascript - 将函数参数传递给 $scope.$apply?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16991323/

相关文章:

javascript - AngularJS 中的 ng-hide 和 ng-show

javascript - Angular 和 FF 中的 $watch 方法

JavaScript function(callback).then(),回调在then之后执行

javascript - Teamcity - 内部版本号 - 传递到 JS 脚本

javascript - 如何访问backbone.js中的特定 View ?

javascript - 如何将数据传递到 Angular Material 中的 $mdDialog

javascript - 为什么简单地使用 ng-init 和 delete 会产生语法错误?

asp.net - 回调和部分回发有什么区别?

javascript - 如何点击 p :commandButton using javascript

javascript - 如何使用 JavaScript 将选定的选项获取到 select dropodown 标记中?