Да, это определенно возможно.
Самый простой способ - передать простую строку, например,
<navigation button-left="goback" />
Обратите внимание, что v-bind
.
нет.Затем в вашем компоненте вы можете использовать значение prop.Что-то вроде ...
export default {
template: `<button @click="runButtonLeft">Go</button>`,
props: ['buttonLeft'],
methods: {
runButtonLeft () {
if (typeof this[this.buttonLeft] === 'function') {
this[this.buttonLeft]()
} else {
console.error('Invalid method name:', this.buttonLeft)
}
},
goback () {
console.log('Run this.')
}
}
}
Вы не указали, что следует использовать для запуска выполнения метода, поэтому я пошел с событием click .