А зачем вам именно router-link? Он предназначен именно для навигации, логично, что на нем клик не биндится. Т.е. если нужен переход куда-либо - это router-link, а если обработка клика - любой другой элемент, спан, див и так далее. Если нужно то или иное поведение в зависимости от условий, все равно второй вариант, просто в doSomething вы можете указать, например, this.$router.push({name: 'home'});
Чисто для информации: @click.native="doSomething".
Модификатор .native вешает клик на корневой элемент компонента, а не на сам компонент.
Но с router-link так делать не стоит.
Александр, кто знает о чём я думал год назад?)
Но скорее всего я имел ввиду, что router-link осуществляет переход по ссылке, т.е. изменения маршрута, и выполнение каких-то ещё действий при этом - скорее всего какой-то хак, и нужно было использовать хуки роутера.