I'm attempting to add a custom handler InlineButtonClickHandler
to a <router-link>
component's click
event, so that I can emit a custom appSidebarInlineButtonClick
event.
But, my code isn't working. What am I doing wrong?
<template> <router-link :to="to" @click="InlineButtonClickHandler"> {{ name }} </router-link> </template> <script type="text/babel"> export default { props: { to: { type: Object, required: true }, name: { type: String, required: true } }, methods: { InlineButtonClickHandler(event) { this.$emit('appSidebarInlineButtonClick'); } } } </script>
To add an event listener to a component using the v-on directive with Vue. js, we should add the native modifier. to set the add the native modifier to @click and set it to buttonClickHandler . Then buttonClickHandler will run when we click on the router-link component.
You can use $router. push({ name: "yourroutename"}) or just router. push("yourroutename") now to redirect.
You need to add the .native
modifier:
<router-link :to="to" @click.native="InlineButtonClickHandler" > {{name}} </router-link>
This will listen to the native click event of the root element of the router-link
component.
<router-link:to="to"> <span @click="InlineButtonClickHandler">{{name}}</span> </router-link>
Maybe you can try this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With