首页 > 解决方案 > Stripe Angular 控制器不更新视图

问题描述

我在使用 Angular 1.6 控制器和 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 回调中的任何想法?

标签: javascriptangularjsstripe-payments

解决方案


我没有足够的声誉来为您自己的答案添加评论,但我只是想补充一点,将适当的函数传递$scope.apply给它比简单地用零参数调用它更好。


推荐阅读