vue.js - Vue:mounted() 中的代码是否同步运行?
问题描述
我有 Vue 组件,其中一个 Vue 组件是 Square 支付表单。在我的mounted()
中,我拥有所有 Square 逻辑并将表单制作为paymentForm
. 创建付款后,我需要运行paymentForm.build()
. 如何在不使用 setTimeout 的情况下做到这一点?
mounted() {
this.paymentForm = new SqPaymentForm({
// Initialize the payment form elements
autoBuild: false,
applicationId: applicationId,
locationId: locationId,
inputClass: 'form-control',
// Customize the CSS for SqPaymentForm iframe elements
inputStyles: [{
fontSize: '14px',
}],
// Initialize the credit card placeholders
cardNumber: {
elementId: 'sqCardNumber',
placeholder: 'Card Number'
},
cvv: {
elementId: 'sqCvCode',
placeholder: 'CVV'
},
expirationDate: {
elementId: 'sqExp',
placeholder: 'MM/YY'
},
postalCode: {
elementId: 'sqPostalCode',
placeholder: 'Postal Code'
},
// SqPaymentForm callback functions
callbacks: {
methodsSupported: function (methods) {},
createPaymentRequest: function () {},
cardNonceResponseReceived: function(errors, nonce, cardData) {
debugger
if (errors) {
cardNonceError(errors);
return;
}
cardNonceReceived(nonce);
},
unsupportedBrowserDetected: function() {
alert('Sorry, your browser is not supported!');
},
inputEventReceived: function(inputEvent) {
switch (inputEvent.eventType) {
case 'focusClassAdded':
// HANDLE AS DESIRED
break;
case 'focusClassRemoved':
// HANDLE AS DESIRED
break;
case 'errorClassAdded':
// HANDLE AS DESIRED
break;
case 'errorClassRemoved':
// HANDLE AS DESIRED
break;
case 'cardBrandChanged':
// HANDLE AS DESIRED
break;
case 'postalCodeChanged':
// HANDLE AS DESIRED
break;
}
},
paymentFormLoaded: function() {
paymentForm.setPostalCode(postalCode);
formDisplayHandler();
}
}
});
// setTimeout(() => {
this.paymentForm.build()
// }, 500);
}
解决方案
推荐阅读
- java - 加装手柄 助焊剂返回型
- android - tns 医生说缺少“ANDROID_HOME”,即使它设置在 circleCi
- sql - SQL Server 中没有 Order By 子句的 SQL Select 语句的顺序
- python - 在 Heroku 上安装 ODBC 驱动程序
- c - C 程序:getenv 在 GDB/DDD 中返回 NULL
- javascript - html2canvas 无法加载图像未定义
- php - SQLSTATE [HY000]:一般错误:1364 字段“角色”没有默认值
- ios - 用于检查是否在数组中找到特定 id 的 For 循环
- jquery - FlexSlider itemWidth 未在窗口调整大小时更新
- c - 如何制作CAN协议的传输代码