3
は、私は、ネストされたコンポーネントのセットを得た:コール偉大な孫コンポーネントメソッド
<Root>
<VForm>
<Accordion>
<Panel>
<Stripe ref="stripe">
を私はフォームが送信されたときにストライプコンポーネント上でメソッドgetToken
を呼び出す必要があります。私の<VForm>
コンポーネントには、次のテンプレートがあります。
<template>
<form :method="method" :action="action" :class="classes" :autocomplete="autocomplete" @submit.prevent="submit">
<slot></slot>
</form>
</template>
<script>
export default {
props: {
method: {
type: String,
default: 'POST'
},
action: {
required: true,
type: String
},
classes: {
type: String
},
autocomplete: {
type: String,
default: 'on'
}
},
methods: {
submit(){
this.$refs.stripe.getToken
}
}
}
</script>
しかし、私はUncaught TypeError: Cannot read property 'getToken' of undefined
を得る。私も<v-form>
レベルでイベントを出すことで試してみましたが、間違いがなければ、イベントが子から親に流れるので、うまくいきませんでした。
<v-form>
でどうすればstripe.getToken
をトリガーできますか?
は、ありがとう、これは動作しますが、私は、ウィンドウオブジェクト 'window.bus =新しいヴュー()でバスを定義する必要がありました;'それは世界的にアクセスできるようにそれ以外の場合は、ストライプのコンポーネントがバスインスタンスを受け取りません。 – enriqg9
@ enriqg9単一のファイルコンポーネントを使用している場合は、そうするでしょう:) – Bert