При написание небольшого проекта на VueJS столкнулся с проблемой при настройке роутинга на кнопках, а именно при подвешивании события:
1 |
<router-link to="path/to" @click="someFunction"> |
– роутинг отрабатывал, но никакого запланированного события не происходило. На сколько я понял, директива v-on работает только с нативными HTML-элементами, т.к. это браузерное событие, а не событие Vue.
Одним из выходом из этой ситуации может служить следующая конструкция: мы вешаем событие на первый дочерний элемент router-link, т.е.
1 2 3 |
<router-link to="path/to"> <span v-on:click="someFunction">Link</span> </router-link> |
Таким образом, все начинает работать. Если вы знаете другие способы – пишите в комментариях, буду только рад 🙂
@click.native