2👍
✅
This kind of code works for your use-case.
parent page
<template>
<div>
<child :id="1" @picture-taken="callSpecificFunction"></child>
<child :id="2" @picture-taken="callSpecificFunction"></child>
</div>
</template>
<script>
export default {
auth: false,
methods: {
callSpecificFunction(id) {
console.log('id emitted', id)
this[`function${id}`]()
},
function1() {
console.log('function1 called')
},
function2() {
console.log('function2 called')
},
},
}
</script>
Child.vue
<template>
<button @click="emitPlease">please do emit for id {{ id }}</button>
</template>
<script>
export default {
props: {
id: {
type: Number,
default: 1,
},
},
methods: {
emitPlease() {
this.$emit('picture-taken', this.id)
},
},
}
</script>
Source:stackexchange.com