【发布时间】:2015-06-10 22:28:36
【问题描述】:
我在我的 Angular 应用程序中使用 Braintree Hosted Fields。当应用程序加载时,braintree.setup('TOKEN', 'customer', {}) 按预期工作。 onReady 正确触发。
这是我的控制器:
angular.module('braintree')
.controller('BraintreeCtrl', [
function() {
var self = this;
self.setup = function() {
console.log('setup braintree');
braintree.setup('myBTtoken', 'custom', {
id: 'braintreeForm',
onReady: function() {
console.log('on ready');
},
hostedFields: {
styles: {},
number: {
selector: '#card-number',
placeholder: 'Card number'
},
cvv: {
selector: '#card-cvv',
placeholder: 'CVV'
},
expirationMonth: {
selector: '#card-expiration-month',
placeholder: 'MM'
},
expirationYear: {
selector: '#card-expiration-year',
placeholder: 'YY'
},
postalCode: {
selector: '#card-postal',
placeholder: 'Postal code'
}
}
});
}
}
]);
查看(玉石):
form(name='braintreeForm', id='braintreeForm', novalidate, ng-init='ctrl.setup()')
.form-group
label Card Number
#card-number
.form-group
label CVV
#card-cvv
.form-group
label Expires
#card-expiration-month
.form-group
#card-expiration-year
.form-group
label Zip Code
#card-postal
button(type='submit') Submit
但是,当我离开此页面时,然后返回到 BraintreeCtrl 触发的状态,onReady 永远不会触发并且我无法输入任何数据。
当我使用 Braintree 表单返回状态时,如何重新设置 Braintree??
【问题讨论】: