カスタムInlineButtonClickHandler
イベントを発行できるように、カスタムハンドラーclick
を<router-link>
コンポーネントのappSidebarInlineButtonClick
イベントに追加しようとしています。
しかし、私のコードは機能していません。何が間違っていますか?
<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>
.native
修飾子 を追加する必要があります。
<router-link
:to="to"
@click.native="InlineButtonClickHandler"
>
{{name}}
</router-link>
これは、router-link
コンポーネントのルート要素のネイティブクリックイベントをリッスンします。
<router-link:to="to">
<span @click="InlineButtonClickHandler">{{name}}</span>
</router-link>
たぶんこれを試すことができます。
素敵な解決策は次のとおりです。
<a v-link='{name: "home"}' v-on:click.capture='InlineButtonClickHandler'>Home</a>