Puis-je envelopper ou inclure une balise router-link
dans une balise button
?
Quand je presse le bouton, je veux qu’il me mette à la page désirée.
Puis-je envelopper ou inclure une balise router-link
dans une balise button
?
Quand je presse le bouton, je veux qu’il me mette à la page désirée.
Même si les réponses ici sont tous bons, aucun ne semble être la solution la plus simple. Après quelques recherches rapides, il semble que la véritable façon la plus simple de faire un bouton vue-routeur est avec l' router.push
appel. Ceci peut être utilisé à l'intérieur d'un .vue modèle comme celui-ci:
<button @click="$router.push('about')">Click to Navigate</button>
Super simple et propre. J'espère que quelqu'un trouve cette pratique!
Source: https://router.vuejs.org/guide/essentials/navigation.html
@choasia's réponse est correcte.
Sinon, vous pouvez envelopper un button
balise dans un router-link
balise comme ceci:
<router-link :to="{name: 'myRoute'}">
<button id="myButton" class="foo bar">Go!</button>
</router-link>
Ce n'est pas très propre parce que votre bouton sera à l'intérieur d'un élément de lien (<a>
). Cependant, l'avantage est que vous avez un contrôle total sur votre bouton, qui peut être nécessaire si vous travaillez avec un front-end framework comme Bootstrap.
Je n'ai jamais utilisé cette technique sur les boutons, pour être honnête. Mais je l'ai fait sur les divs assez souvent...
Merci à la réponse de Wes Winder et à son extension pour inclure les paramètres de route:
<button @click="$router.push({name: 'about-something', params: { id: 'abc123' },})">Click to Navigate</button>
Et réitérant la source fournie par Wes: https://router.vuejs.org/guide/essentials/navigation.html
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.