# やりたいこと
親から子のコンポーネントに値を渡したい。
やったこと
Vue.jsでコンポーネント親子間の値の受け渡し - Qiitaを参考に実施
親
<template> <div> <b-button v-b-modal.modal-prevent-closing message="Hello Vue!!" >Open Modal</b-button > <ModalComponent /> </div> </template> <script> import ModalComponent from "@/components/Modal.vue"; export default { name: "ViewModal", components: { ModalComponent, }, data() { return { reqUrl: "htto://localhost:8080/test", }; }, methods: {}, }; </script> <style lang="scss"> .chart-view { height: 450px; width: 450px; } </style>
子
<template> <b-modal id="modal-prevent-closing" ref="modal" title="Submit Your Name" @show="resetModal" @hidden="resetModal" @ok="handleOk" > <p>{{ message }}</p> <form ref="form" @submit.stop.prevent="handleSubmit"> <b-form-group :state="nameState" label="Name" label-for="name-input" invalid-feedback="Name is required" > <b-form-input id="name-input" v-model="name" :state="nameState" required ></b-form-input> </b-form-group> </form> </b-modal> </template> <script> export default { name: "ModalComponent", props: ["message"], data() { return { name: "", nameState: null, submittedNames: [], }; }, methods: { checkFormValidity() { const valid = this.$refs.form.checkValidity(); this.nameState = valid; return valid; }, resetModal() { this.name = ""; this.nameState = null; }, handleOk(bvModalEvt) { // Prevent modal from closing bvModalEvt.preventDefault(); // Trigger submit handler this.handleSubmit(); }, handleSubmit() { // Exit when the form isn't valid if (!this.checkFormValidity()) { return; } // Push the name to submitted names this.submittedNames.push(this.name); console.log(this.submittedNames); console.log(this.reqUrl); // Hide the modal manually this.$nextTick(() => { this.$bvModal.hide("modal-prevent-closing"); }); }, }, }; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped></style>
事象
Messageに何も値が表示されず、エラー何も表示されないので、何が悪いのかがわかりません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。