Javascript 角度$scope.$apply不能与表单一起正常工作。提交()
我有以下代码,在响应设置为隐藏字段后提交表单。问题是,如果我不等待几毫秒或几秒钟,那么它就不会保存它,如果我等待一点点,然后提交表单,那么它工作得很好 我基本上希望在值设置为paymentToken(隐藏字段)后立即提交表单Javascript 角度$scope.$apply不能与表单一起正常工作。提交(),javascript,angularjs,forms,scope,angularjs-scope,Javascript,Angularjs,Forms,Scope,Angularjs Scope,我有以下代码,在响应设置为隐藏字段后提交表单。问题是,如果我不等待几毫秒或几秒钟,那么它就不会保存它,如果我等待一点点,然后提交表单,那么它工作得很好 我基本上希望在值设置为paymentToken(隐藏字段)后立即提交表单 在$scope.$apply完成之前,您对scope变量(即,$scope.paymentToken=…)所做的更改不会应用于UI(即您正在提交的表单) 您基本上需要将submit()移动到下一个周期。一个简单的方法是 console.log($scope.paym
在$scope.$apply完成之前,您对scope变量(即,
$scope.paymentToken=…
)所做的更改不会应用于UI(即您正在提交的表单)
您基本上需要将submit()
移动到下一个周期。一个简单的方法是
console.log($scope.paymentToken);
$timeout(function() {
document.getElementById("myForm").submit();
}, 0);
});
当然,在注入$timeout之后 在$scope.$apply完成之前,您对scope变量(即,
$scope.paymentToken=…
)所做的更改不会应用到UI(即您正在提交的表单)
您基本上需要将submit()
移动到下一个周期。一个简单的方法是
console.log($scope.paymentToken);
$timeout(function() {
document.getElementById("myForm").submit();
}, 0);
});
当然,在注入$timeout之后