【发布时间】:2019-01-05 23:26:58
【问题描述】:
我的供应商文件中有一个原始脚本 (stripe.js)。直接在供应商文件中编辑它不是解决方案。
我希望我可以更改我需要的函数 (createCardElement)。
/*stripe.js*/
module.exports = {
/**
* The mixin's data.
*/
data() {
return {
stripe: Spark.stripeKey ? Stripe(Spark.stripeKey) : null
}
},
methods: {
/**
* Create a Stripe Card Element.
*/
createCardElement(container){
if (!this.stripe) {
throw "Invalid Stripe Key/Secret";
}
var card = this.stripe.elements().create('card', {
hideIcon: false,
hidePostalCode: true,
style: {
base: {
'::placeholder': {
color: '#aab7c4'
},
fontFamily: 'Whitney, Lato, -apple-system, BlinkMacSystemFont,"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol"',
color: '#495057',
fontSize: '15px'
}
}
});
card.mount(container);
return card;
}
},
};
这个文件被导入另一个文件(register-stripe.js)
module.exports = {
/**
* Load mixins for the component.
*/
mixins: [
require('./../mixins/register'),
require('./../mixins/plans'),
require('./../mixins/vat'),
require('./../mixins/stripe')
],
selectedPlan(val){
if (!val || val.price == 0) {
this.cardElement = null;
return;
}
if (!this.cardElement) {
this.$nextTick(()=> {
this.cardElement = this.createCardElement('#card-element');
});
}
}
},
}
我可以访问一个文件,或者我可以覆盖 register-stripe.js 中的函数,但我不知道如何覆盖 mixins 数组中的函数。
Register-stripe.js(我可以编辑的版本)
var base = require('auth/register-stripe');
Vue.component('spark-register-stripe', {
mixins: [base]
});
感谢您的帮助!
【问题讨论】:
标签: javascript laravel vue.js laravel-spark