[英]Vue.js - Access component methods on onload
我使用vue-js
和stripe
來實現一些付款。
將Stripe
與vue-js
一起使用的唯一方法是script.onload
。 我現在想在onload
函數中訪問一些methods
。 在此示例中,它是使用self.myMethod
調用的函數myMethod
為此,我創建了self
變量,但是它恰好在onload
范圍內未定義。
我該怎么做才能使它可用?
在當前示例中, self
引用Window
對象。
<template></template>
<script>
export default {
data() {
const self = this;
return {}
},
methods: {
myMethod() {}
},
mounted() {
let script = document.createElement('script');
script.src = "https://js.stripe.com/v3/";
script.onload = () => {
const stripe = Stripe('xxxxxxxx');
const elements = stripe.elements();
function setOutcome(result) {
self.myMethod();
}
card.on('change', function(event) {
setOutcome(event);
});
document.querySelector('form').addEventListener('submit', function(e) {
e.preventDefault();
const form = document.querySelector('form');
stripe.createToken(card).then(setOutcome);
});
};
document.body.appendChild(script);
}
}
</script>
<style></style>
您已經在data
方法中定義了一個self
變量,該變量在該方法之外不可訪問。
您需要在已mounted
掛鈎本身中定義self
變量:
mounted() {
let self = this;
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.