これはうまくいきますが、これを行うもっと良い方法があると確信しています。下部のdocument.getElementsByClassName()
部分を見てください。Vueに "close modal"ボタンを追加するより良い方法
HTML:
<modal>
<a slot="trigger">Show Modal</a>
<h3 slot="header">My Heading</h3>
<p slot="body">Here is the body of the modal.</p>
<div slot="footer">
Here is the footer, with a button to close the modal.
<button class="close-modal">Close Modal</button>
</div>
</modal>
Modal.vue:
<template>
<span>
<span @click="show = true">
<slot name="trigger"></slot>
</span>
<slot name="header"></slot>
<slot name="body"></slot>
<slot name="footer"></slot>
</span>
</template>
<script>
export default {
data() {
return { show: false }
},
mounted(that = this) {
document.getElementsByClassName('close-modal')[0].addEventListener('click', function() {
that.show = false;
})
}
}
</script>
はこれを行うには良い方法はありますか?
Iを行いますもののスロットのいずれかまたはそれらのすべてのボタンを追加しますので、 を入れたいとします。そうすれば、私はさまざまな方法でモーダルを閉じることができますが、モーダルコンポーネントは1つしかありません。 – Travis
それでは、それは簡単ですが、同じアプローチに従わなければなりません...私は自分の答えに – peaceman
@peacemanを追加します。多分あなたは私を助けることができます:https://stackoverflow.com/questions/45451971/how-can-モジュラ・オン・モア・ヴァー・コンポーネントのiモード表示 –