条带角度控制器未更新视图

时间:2019-04-20 16:34:00

标签: javascript angularjs stripe-payments

我在Angular 1.6 Controllers和Stripe中遇到此问题。我有一个控制器,可根据步骤更改视图。我正在基于Stripe的成功回调更改步骤,如下所示:

stripe.createToken(card).then((result) => {

                     if (result.error) {
                         // Inform the customer that there was an error.
                         var errorElement = document.getElementById('card-errors');
                         errorElement.textContent = result.error.message;
                      } else {
                        // Send the token to your server.
                        stripe_token = result.token;
                        //Change step
                        $scope.step = step;
                      }
                })
                .catch( e =>{
                    console.log("Error");
                });

问题是当在回调中分配步骤时,分配了值,但视图未更新。有什么想法为什么只在Angular中的Stripe回调中发生?

3 个答案:

答案 0 :(得分:1)

我没有足够的声誉在您自己的答案中添加评论,但我只是想补充一点,将适当的函数传递给$scope.apply而不是简单地使用零参数进行调用是一种更好的做法。

答案 1 :(得分:0)

$scope.$apply();必须在回调中使用。

答案 2 :(得分:0)

使用AngularJs提供的$ http服务。请求返回后,这将自动触发$ scope。$ digest

文档:https://docs.angularjs.org/api/ng/service/$http