Я новичок в Vue.js и работаю с модальными окнами. В основном я использую фреймворк Buefy
. Это мой пример кода:
<template>
<section>
<button class="button is-primary is-small" @click="addModal = true">
<span>Insert New</span>
</button>
<b-modal :active.sync="addModal"
has-modal-card
trap-focus
:destroy-on-hide="false"
aria-role="dialog"
aria-modal>
<modal-form v-bind="formProps"></modal-form>
</b-modal>
</section>
</template>
<script>
const ModalForm = {
props: ["tagName", "moreFields"],
template: `
<form action="">
<div class="modal-card" style="width: auto">
//input fields here
<footer class="modal-card-foot">
<button class="button" type="button" @click="$parent.close()">Close</button>
<button class="button is-primary" @click="addTag">Add Tag</button>
</footer>
</div>
</form>
`,
};
export default {
components: {
ModalForm,
},
data() {
return {
data: {
tagName: "",
},
addModal: false,
};
},
methods: {
addTag() {
if (this.data.tagName.trim().length > "") {
console.log(mydata);
}
},
},
};
</script>
Однако, когда я пытаюсь нажать кнопку Add Tag
, я получаю сообщение об ошибке Invalid handler for event "click": got undefined...
Кажется, с этим так много проблем, и я не хотел дублировать сообщение, но я искал на сайте, и в основном у людей были проблемы с опечатками. (method
вместо methods
). Будет ли это из-за объема модального окна? Это как-то addTag
ему не видно?
Как мне это исправить?