сначала вы должны передать максимум два параметра методу $ emit, вот документы: https://vuejs.org/v2/api/#vm -emit , а второй - v-on:
до того, как v-models станут дополнительными. поэтому в решении вы можете передать эти данные в одном объекте вместо трех данных, поэтому код будет таким:
data() {
return {
name: '',
email: '',
age: '',
}
},
methods: {
inputdata() {
this.$emit("input", {
name: this.name,
email: this.email,
age: this.age
})
}
}
или мой предпочтительный вариант поместить все в данные формы, подобные этому
<template>
<div>
<table>
<thead>
<th>Name</th>
<th>Email</th>
<th>Age</th>
</thead>
<tr>
<td><input type="text" id="name" v-model="form.name"></td>
<td><input type="email" id="email" v-model="form.email"></td>
<td><input type="number" id="age" v-model="form.age"></td>
</tr>
</table>
</div>
</template>
<script>
export default {
name: "inputform",
data() {
return {
form: {
name: '',
email: '',
age: '',
}
}
},
methods: {
inputdata() {
this.$emit("input", this.form)
}
}
}
</script>